diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +node_modules/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5d8e646 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +FROM node:11 + +ENV NPM_CONFIG_PREFIX=/home/node/.npm-global +ENV PATH=$PATH:/home/node/.npm-global/bin + +USER node +WORKDIR /home/node/ + +COPY *.json ./ + +RUN npm install --only=dev && \ + npm install --only=prod + +COPY src/ ./src/ +COPY bin/ ./bin/ +RUN npm pack + +FROM node:11 + +ENV NPM_CONFIG_PREFIX=/home/node/.npm-global +ENV PATH=$PATH:/home/node/.npm-global/bin + +WORKDIR /home/node/ +USER node +COPY --from=0 /home/node/*.tgz . + +RUN npm install -g *.tgz + +ENTRYPOINT ["shst"] +CMD ["--help"] \ No newline at end of file diff --git a/package.json b/package.json index 69d2851..9f3d8ca 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "leveldown": "^5.0.0", "levelup": "^4.0.1", "node-fetch": "^2.3.0", - "osrm": "^5.22.0", + "osrm": "5.22.0", "rbush": "^3.0.0", "sharedstreets-pbf": "^0.8.0", "sharedstreets-types": "^1.3.1", diff --git a/tsconfig.json b/tsconfig.json index 9eb61be..9141d8b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { /* Basic Options */ + "rootDir": ".", /* To keep src directory structure TSC3 requires rootDir to be set */ "outDir": "build/", "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */