Skip to content

Commit 23c5e7c

Browse files
Merge pull request #78 from MaxxtonGroup/upgrades
MXTS-25998: Upgrades/fixes
2 parents 26b0445 + f27b7d6 commit 23c5e7c

16 files changed

Lines changed: 65 additions & 41 deletions

File tree

Dockerfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:9.11.1-alpine
1+
FROM node:14-alpine
22

33
EXPOSE 3000
44
WORKDIR /microdocs/microdocs-server/dist
@@ -8,5 +8,7 @@ ADD microdocs-server/config.yml /microdocs/microdocs-server/config.yml
88
ADD microdocs-server/dist/ /microdocs/microdocs-server/dist/
99
ADD microdocs-ui/dist/ /microdocs/microdocs-ui/dist/
1010
ARG CLI_VERSION
11-
RUN echo @maxxton:registry=https://nexus-dev.maxxton.com/repository/npm-group/ > ~/.npmrc && \
12-
npm install -g @maxxton/microdocs-cli@$CLI_VERSION
11+
ARG NPM_TOKEN
12+
RUN echo -e "@maxxton:registry=https://nexus-mxtf.maxxton.com/repository/npm-group/\n_auth=${NPM_TOKEN}" > ~/.npmrc
13+
RUN npm install -g @maxxton/microdocs-cli@$CLI_VERSION
14+
RUN cd /microdocs/microdocs-server/dist/ && npm install

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ To install via Docker run:
2929
$ docker run --name microdocs -v /some/data/folder:/microdocs/microdocs-server/data -p 3000:3000 -d maxxton/microdocs
3030
```
3131

32+
### Build the MicroDocs Docker image
33+
```
34+
docker build --no-cache --build-arg=CLI_VERSION='2.0.0' --build-arg NPM_TOKEN={yourtoken} .
35+
```
36+
Where yourtoken can be generated as a base64 encoded string of the username and password:
37+
```
38+
echo -n 'user:pass' | openssl base64
39+
```
40+
3241
### Setup Crawlers
3342
Crawlers are project and framework specific. Currently only the Spring framework is supported.
3443
The setup for each Crawler can be found in their subdirectories

microdocs-server/.npmrc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
@maxxton:registry=https://nexus-mxtf.maxxton.com/repository/npm-group/
2-
1+
@maxxton:registry=https://nexus-mxtf.maxxton.com/repository/npm-group/:_authToken=${NPM_TOKEN}

microdocs-server/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:9.11.1-alpine
1+
FROM node:14-alpine
22

33
# Install dependencies
44
WORKDIR /app/@maxxton/microdocs-server
@@ -8,4 +8,4 @@ RUN npm install
88

99
# Build microdocs-server
1010
ADD ./microdocs/microdocs-server/gulpfile.js ./microdocs/microdocs-server/build.js ./microdocs/microdocs-server/config.yml ./
11-
CMD rm -rf ./dist/* && ./node_modules/.bin/gulp watch
11+
CMD rm -rf ./dist/* && ./node_modules/.bin/gulp watch

microdocs-server/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
Express server for storing project definitions and check for compatibility problems.
33

44
## Setup Development
5-
This project depends on microdocs-core-ts
5+
This project depends on microdocs-core
66
```
7-
# link microdocs-core-ts
8-
cd ../microdocs-core-ts
7+
# link microdocs-core
8+
cd ../microdocs-core
99
npm link
1010
1111
# init
@@ -14,7 +14,7 @@ npm install
1414
npm run link
1515
1616
# compile and watch
17-
gulp
17+
npm run watch
1818
```
1919

2020

microdocs-server/config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ default:
77
viewFolder: views
88
dataFolder: data
99

10-
application-name: Maxxton 2
11-
application-version: 2.0
12-
application-description: Maxxton 2 rest api
10+
application-name: Maxxton Software
11+
application-version: 1.0
12+
application-description: Maxxton Software rest api
1313
application-schema: http
1414
application-host: localhost:8000
1515
application-basePath: ''

microdocs-server/package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
},
99
"main": "index.js",
1010
"scripts": {
11-
"build": "tsc -p src/tsconfig.json",
11+
"build": "npm run clean && npm run build.tsc && npm run build.package",
12+
"build.package": "ts-node ./build/build.package.json.ts",
13+
"build.tsc": "tsc --project ./src/tsconfig.json",
14+
"clean": "ts-node ./build/clean.dist.ts",
1215
"start": "ts-node src/index.ts",
1316
"serve": "ts-node src/index.ts",
1417
"debug": ".nodemon --watch \"src/**\" --ext \"ts,json\" --ignore \"src/**/*.spec.ts\" --exec --debug-brk \"ts-node src/index.ts\"",
@@ -33,27 +36,27 @@
3336
"multer": "^1.4.2",
3437
"node-rest-client": "^3.1.0",
3538
"node-yaml-config": "0.0.6",
39+
"ts-node": "9.1.1",
3640
"uuid": "^8.3.2",
37-
"winston": "^3.3.3",
38-
"ts-node": "9.1.1"
41+
"winston": "^3.3.3"
3942
},
4043
"devDependencies": {
41-
"jest": "26.6.3",
42-
"ts-jest": "26.5.6",
43-
"@types/jest": "26.0.23",
4444
"@types/body-parser": "0.0.33",
4545
"@types/express": "^4.0.35",
4646
"@types/express-handlebars": "0.0.29",
4747
"@types/handlebars": "^4.0.31",
4848
"@types/helmet": "0.0.33",
49+
"@types/jest": "26.0.23",
4950
"@types/multer": "0.0.33",
5051
"@types/node": "^7.0.0",
5152
"@types/uuid": "^2.0.29",
5253
"async": "^2.0.1",
5354
"del": "^2.2.2",
5455
"gaze": "^1.1.2",
56+
"jest": "26.6.3",
5557
"merge2": "^1.0.2",
5658
"nodemon": "^1.11.0",
59+
"ts-jest": "26.5.6",
5760
"typescript": "4.2.4",
5861
"vinyl-paths": "^3.0.1"
5962
}

microdocs-server/src/app.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import * as exphbs from 'express-handlebars';
88
import * as multer from 'multer';
99

1010
import * as logger from './logger';
11-
import {yaml} from "./middelware/yaml-parser";
11+
import {yaml} from "./middleware/yaml-parser";
1212
import {Config} from "./config";
1313
import {BaseRoute} from "./routes/route";
1414
import {ProjectsRoute} from "./routes/projects.route";
@@ -73,7 +73,16 @@ class Server {
7373
// this.app.use(logger);
7474

7575
// mount helmet
76-
this.app.use(helmet());
76+
this.app.use(
77+
helmet({
78+
contentSecurityPolicy: {
79+
useDefaults: true,
80+
directives: {
81+
"script-src": ["'self' 'unsafe-eval'"],
82+
}
83+
}
84+
})
85+
);
7786

7887
// mount custom parser
7988
this.app.use(yaml({

microdocs-server/src/config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export class Config {
2020
public static reload() {
2121
console.info( "load config" );
2222
Config.config = (yamlConfig as any).load( Config.configFile );
23+
console.info(JSON.stringify(Config.config));
2324
}
2425

2526
/**

microdocs-server/src/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
#!/usr/bin/env node
22
"use strict";
33

4+
import { Config } from "./config";
5+
46
/**
57
* @author Steven Hermans
68
*/
79

8-
let config = require("./config");
910
let app = require("./app");
1011
let http = require("http");
1112

1213
// get port from environment and store in Express.
13-
let port = normalizePort(process.env.PORT || config.port || 8000);
14+
let port = normalizePort(process.env.PORT || Config.get("port") || 8000);
1415
app.set("port", port);
1516

1617
// create http server

0 commit comments

Comments
 (0)