Compare commits

...

106 Commits

Author SHA1 Message Date
1e620394ac 5.0.51 2019-10-02 23:56:42 +02:00
39b3d5df91 5.0.50 2019-10-02 23:40:21 +02:00
2b0cceb822 5.0.49 2019-10-02 12:09:42 +02:00
e25fb766d0 fix(core): update 2019-10-02 12:09:42 +02:00
83f47a5d33 5.0.48 2019-10-02 12:02:42 +02:00
c9b0009cd3 5.0.47 2019-10-02 11:40:10 +02:00
3e58b1c7c6 5.0.46 2019-09-19 19:34:28 +02:00
08515255bb fix(core): update 2019-09-19 19:34:27 +02:00
4cfd049e0c 5.0.45 2019-09-19 17:39:42 +02:00
0472feeaeb fix(core): update 2019-09-19 17:39:42 +02:00
d8b1f5cf83 5.0.44 2019-09-19 16:13:08 +02:00
bc05ac5ce8 fix(core): update 2019-09-19 16:13:08 +02:00
5e58389bbe 5.0.43 2019-09-19 16:11:44 +02:00
2cef721039 fix(core): update 2019-09-19 16:11:44 +02:00
1e5677e7b3 5.0.42 2019-09-01 15:15:56 +02:00
a16aa527e0 5.0.41 2019-09-01 13:59:24 +02:00
8a3ebe4edd 5.0.40 2019-08-31 16:32:16 +02:00
3754370601 fix(core): update 2019-08-31 16:32:16 +02:00
98e9bb7ccd 5.0.39 2019-08-31 16:30:43 +02:00
d15e063c92 fix(core): update 2019-08-31 16:30:43 +02:00
be3ae65d72 5.0.38 2019-08-31 16:21:57 +02:00
b75e5ef366 fix(core): update 2019-08-31 16:21:57 +02:00
fd35505647 5.0.37 2019-08-31 16:20:57 +02:00
c77d2bf370 fix(core): update 2019-08-31 16:20:56 +02:00
28439a4b57 5.0.36 2019-08-31 14:24:53 +02:00
7d68fdf34e 5.0.35 2019-08-27 19:44:57 +02:00
8a0beb0748 fix(core): update 2019-08-27 19:44:57 +02:00
54440f3d87 5.0.34 2019-08-27 19:42:48 +02:00
c3690d0ad0 fix(core): update 2019-08-27 19:42:47 +02:00
469b9cda79 5.0.33 2019-08-23 17:25:47 +02:00
274939af46 fix(core): update 2019-08-23 17:25:47 +02:00
edd645a222 5.0.32 2019-08-23 17:10:07 +02:00
bf3972cf55 fix(core): update 2019-08-23 17:10:07 +02:00
3b581d1e11 5.0.31 2019-07-18 17:18:41 +02:00
d4f83ecdda 5.0.30 2019-07-17 18:01:57 +02:00
b369197763 fix(core): update 2019-07-17 18:01:57 +02:00
52cde0c4d9 5.0.29 2019-07-17 17:19:43 +02:00
e118fab8c6 fix(core): update 2019-07-17 17:19:43 +02:00
b6fe7e1b36 5.0.28 2019-06-19 13:26:45 +02:00
9b264755ab fix(core): update 2019-06-19 13:26:44 +02:00
11d6f9a1ec 5.0.27 2019-06-19 12:03:19 +02:00
fecbcdde64 fix(core): update 2019-06-19 12:03:19 +02:00
9e1d21931e 5.0.26 2019-06-19 11:15:19 +02:00
81ef1f1fd9 fix(core): update 2019-06-19 11:15:19 +02:00
9fa5bee1ee 5.0.25 2019-06-19 11:04:44 +02:00
36099654b4 fix(core): update 2019-06-19 11:04:44 +02:00
99bb05ee51 5.0.24 2019-06-18 17:26:52 +02:00
a020d12a2e fix(core): update 2019-06-18 17:26:51 +02:00
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
24 changed files with 234 additions and 600 deletions

21
.gitignore vendored
View File

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

View File

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

View File

@ -1,8 +1,9 @@
FROM ubuntu:xenial FROM ubuntu:xenial
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
WORKDIR /workspace
# important environment variables # 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.3" NODE_VERSION_STABLE="12.8.1" NVM_DIR="/usr/local/nvm"
# Set debconf to run non-interactively and install packages # Set debconf to run non-interactively and install packages
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \ 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 \ rsync \
ssh \ ssh \
wget \ wget \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ gconf-service \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ 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 update \
&& apt-get install yarn -y \
&& apt-get clean \ && apt-get clean \
&& rm -r /var/lib/apt/lists/* && rm -r /var/lib/apt/lists/*

4
Dockerfile_alpine Normal file
View File

@ -0,0 +1,4 @@
FROM node:12.8.1-alpine
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN apk update && apk add bash libc6-compat
ENV NODE_OPTIONS="--max_old_space_size=1000"

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

12
Dockerfile_iot Normal file
View File

@ -0,0 +1,12 @@
FROM hosttoday/ht-docker-node:latest as stage1
LABEL author="Lossless GmbH <hello@lossless.com>"
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 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 \ RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_LTS \ && nvm install $NODE_VERSION_LTS \

View File

@ -1,4 +1,4 @@
FROM hosttoday/ht-docker-node:stable FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN yarn global add @shipzone/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 +0,0 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>"
RUN yarn global add npmci npmdocker @gitzone/npmts ts-node

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:latest 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 \ RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_STABLE \ && nvm install $NODE_VERSION_STABLE \

4
Dockerfile_tsdocker Normal file
View File

@ -0,0 +1,4 @@
FROM hosttoday/ht-docker-node:lts
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN npm install -g @shipzone/npmci @gitzone/tsdocker @gitzone/tsrun

View File

@ -1,6 +1,6 @@
The MIT License (MIT) 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 Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal 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)

18
npmextra.json Normal file
View File

@ -0,0 +1,18 @@
{
"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": {
"dockerRegistries": [
"docker.io",
"registry.gitlab.com"
]
}
}

5
package-lock.json generated Normal file
View File

@ -0,0 +1,5 @@
{
"name": "ht-docker-node",
"version": "5.0.51",
"lockfileVersion": 1
}

View File

@ -1,10 +1,11 @@
{ {
"name": "ht-docker-node", "name": "ht-docker-node",
"version": "4.3.62", "version": "5.0.51",
"description": "docker image with nodejs with shipzone.io support", "description": "docker image with nodejs and shipzone.io support",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"no npm test specified\"",
"build": "echo \"Not needed for now\""
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -15,5 +16,20 @@
"bugs": { "bugs": {
"url": "https://github.com/HostToday/ht-docker-node/issues" "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/*",
"dist_ts_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 # @hosttoday/ht-docker-node
the ultimate docker node image 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) [![build status](https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
[![coverage report](https://gitlab.com/hosttoday/ht-docker-node/badges/master/coverage.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
[Docs](https://hosttoday.gitlab.io/ht-docker-node/) [![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)
## Availability [![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
Registry | Image Path [![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/)
GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node
Docker Hub | hosttoday/ht-docker-node
## Usage ## Usage
The purpose of this Docker image is to provide a robust base for node apps and CI. 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. 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 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 | Registry | Image Path |
* **:stable** - node stable version | --------------- | -------------------------------------------- |
* **:npmci** - npmci preinstalled | GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node |
* **:npmts** - npmci + npmts preinstalled | Docker Hub | hosttoday/ht-docker-node |
* **:npmpage** - npmci + npmts + npmpage preinstalled
* **:mongo** - npmci + npmts + mongo ## 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. For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh) > 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) [![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)
[![repo-footer](https://lossless.gitlab.io/publicrelations/repofooter.svg)](https://maintainedby.lossless.com)

View File

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

View File

@ -1,9 +1,10 @@
# check if npmci is available # check if npmci is available
npm init -y
npmci -v npmci -v
# check if we can use lts # TODO update npmci to not require package.json
npmci install lts npmci node install stable
# check if yarn picks it up # check if npm picks it up
npmci command yarn global add npmts npmci command npm install -g @gitzone/tsrun
npmci command npmts -v npmci command tsrun -v

View File

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

View File

@ -1,3 +1,5 @@
# test yarn # npm
yarn global add npmts npm -v
npmts -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"
}