Skip to content

Commit c25e3c7

Browse files
author
Aaron Adler
committed
container at least starts up
1 parent 544350e commit c25e3c7

14 files changed

+102
-100
lines changed

docker/Dockerfile

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
FROM node:11.1.0-alpine
2-
MAINTAINER James Alastair McLaughlin <j.a.mclaughlin@ncl.ac.uk>
1+
FROM node:22-alpine
2+
LABEL org.opencontainers.image.authors="j.a.mclaughlin@ncl.ac.uk"
33

4-
RUN apk add nss git openjdk8-jre openjdk8 maven python alpine-sdk libxml2-dev yarn g++ gcc bash raptor2 jq
4+
RUN apk add nss git openjdk8-jre openjdk8 maven python3 alpine-sdk libxml2-dev yarn g++ gcc bash raptor2 jq
55

66
WORKDIR /synbiohub
77
COPY . .
88

9+
# COPY docker/settings.xml /root/.m2/
10+
911
RUN cd java && mvn package
1012
RUN git config --global url."https://".insteadOf git://
1113
RUN yarn install

lib/api/attachUrl.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const getUrisFromReq = require('../getUrisFromReq')
22
const loadTemplate = require('../loadTemplate')
33
const sparql = require('../sparql/sparql')
4-
const uuid = require('uuid/v4')
4+
const {uuid: uuidv4 } = require('uuid')
55
const getOwnedBy = require('../query/ownedBy')
66
const config = require('../config')
77

lib/api/expose.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const uuid = require('uuid/v4')
1+
const {uuid: uuidv4 } = require('uuid')
22
const exposeLifetime = 10 * 60 * 1000 // 10 minutes
33

44
let exposes = {}

lib/api/stream.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const uuid = require('uuid/v4')
1+
const {uuid: uuidv4 } = require('uuid')
22

33
let responses = {}
44

lib/apiTokens.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
const uuid = require('uuid/v4')
2+
const {uuid: uuidv4 } = require('uuid')
33
const db = require('./db')
44

55
const tokens = Object.create(null)

lib/app-middleware.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const path = require('path')
22
const express = require('express')
33
const session = require('express-session')
4-
const SequelizeStore = require('connect-sequelize')(session)
4+
const SequelizeStore = require('connect-session-sequelize')(session.Store)
55
const flash = require('connect-flash')
66
const lessMiddleware = require('less-middleware')
77
const cookieParser = require('cookie-parser')
@@ -34,7 +34,7 @@ module.exports = (app) => {
3434
secret: config.get('sessionSecret'),
3535
resave: false,
3636
saveUninitialized: false,
37-
store: new SequelizeStore(db.sequelize, {}, 'Session')
37+
store: new SequelizeStore({db: db.sequelize})
3838
})
3939
)
4040
app.use(flash())

lib/attachments.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const sparql = require('./sparql/sparql')
55
const filesize = require('filesize')
66
const URI = require('sboljs').URI
77
const sha1 = require('sha1')
8-
const uuid = require('uuid/v4')
8+
const {uuid: uuidv4} = require('uuid')
99
const { fetchSBOLObjectRecursive } = require('./fetch/fetch-sbol-object-recursive')
1010

1111
function addAttachmentToTopLevel (graphUri, baseUri, topLevelUri, name, uploadHash, size, attachmentType, owner, id) {

lib/db.js

+6-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
const Sequelize = require('sequelize')
2-
const Umzug = require('umzug')
1+
const {Sequelize} = require('sequelize')
2+
const {Umzug, SequelizeStorage} = require('umzug')
33
const sha1 = require('sha1')
44
const config = require('./config')
55

@@ -88,21 +88,11 @@ User.hasMany(UserExternalProfile, { foreignKey: 'userId', onDelete: 'CASCADE' })
8888
UserExternalProfile.belongsTo(User)
8989

9090
var umzug = new Umzug({
91-
storage: 'sequelize',
92-
storageOptions: {
93-
sequelize: sequelize
94-
},
91+
storage: new SequelizeStorage({sequelize}),
9592
migrations: {
96-
path: 'migrations',
97-
pattern: /^\d+[\w-]+\.js$/,
98-
params: [
99-
sequelize.getQueryInterface(), // queryInterface
100-
sequelize.constructor, // DataTypes
101-
function () {
102-
throw new Error('Migration tried to use old style "done" callback. Please upgrade to "umzug" and return a promise instead.')
103-
}
104-
]
105-
}
93+
glob: 'migrations/*.js',
94+
},
95+
context: sequelize.getQueryInterface()
10696
})
10797

10898
module.exports = {

lib/uploads.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const tmp = require('tmp-promise')
33
const fs = require('mz/fs')
44
const zlib = require('zlib')
55
const shastream = require('sha1-stream')
6-
const filetype = require('file-type')
6+
const fileTypeFromStream = require('file-type')
77
const mkdirp = require('mkdirp')
88
const assert = require('assert')
99
const streamMeter = require('stream-meter')
@@ -28,7 +28,7 @@ function createUpload (inputStream) {
2828
var mimeType
2929

3030
fileStream.on('data', chunk => {
31-
let type = filetype(chunk)
31+
let type = fileTypeFromStream(chunk)
3232
if (!mimeType) {
3333
if (type) {
3434
mimeType = 'http://purl.org/NET/mediatypes/' + type['mime']

lib/views/admin/newUser.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const config = require('../../config')
44
const createUser = require('../../createUser')
55
const sendCreatePasswordMail = require('../../mail/createPassword')
66
var extend = require('xtend')
7-
const uuidV4 = require('uuid/v4')
7+
const {uuid: uuidv4 } = require('uuid')
88
var sha1 = require('sha1')
99

1010
module.exports = function (req, res) {

lib/views/setup.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const pug = require('pug')
2-
const uuid = require('uuid/v4')
2+
const {uuid: uuidv4 } = require('uuid')
33
const fs = require('fs')
44
const Joi = require('joi')
55
const config = require('../config')

lib/views/stream.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const pug = require('pug')
22
const config = require('../config')
33
const stream = require('../api/stream')
4-
const uuid = require('uuid/v4')
4+
const {uuid: uuidv4 } = require('uuid')
55

66
function download (req, res, content) {
77
let data = content.body

notes.txt

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Packages that need to go:
2+
- multer
3+
- mv
4+
- node-pre-gyp
5+
- tar
6+
- tar-fs
7+
- browserify
8+
9+
sendgrid is deprecated. new package might be @sendgrid/mail but might need and API key.

package.json

+70-69
Original file line numberDiff line numberDiff line change
@@ -3,95 +3,90 @@
33
"version": "1.0.0",
44
"private": true,
55
"dependencies": {
6-
"@babel/core": "^7.11.6",
7-
"@babel/preset-env": "^7.11.5",
8-
"@babel/preset-react": "^7.10.4",
9-
"async": "^0.9.2",
6+
"@babel/core": "^7.26.7",
7+
"@babel/preset-env": "^7.26.7",
8+
"@babel/preset-react": "^7.26.3",
9+
"async": "^3.2.6",
1010
"autocomplete": "0.0.1",
11-
"axios": "^0.21.1",
11+
"axios": "^1.7.9",
1212
"babelify": "^10.0.0",
13-
"binary-split": "^1.0.3",
14-
"body-parser": "^1.15.0",
13+
"binary-split": "^1.0.5",
14+
"body-parser": "^1.20.3",
1515
"browserify-middleware": "^8.1.1",
1616
"byline": "^5.0.0",
17-
"cheerio": "^1.0.0-rc.2",
17+
"cheerio": "^1.0.0",
1818
"connect-flash": "^0.1.1",
19-
"connect-sequelize": "^2.0.2",
20-
"cookie-parser": "^1.4.1",
19+
"connect-session-sequelize": "7.1.7",
20+
"cookie-parser": "^1.4.7",
2121
"cors": "^2.8.5",
22-
"crypto-random-string": "^3.0.1",
23-
"deepmerge": "^2.2.1",
24-
"doi-regex": "^0.1.4",
22+
"crypto-random-string": "^5.0.0",
23+
"deepmerge": "^4.3.1",
24+
"doi-regex": "^0.1.17",
2525
"dom-delegator": "^13.1.0",
2626
"edam-ontology": "^1.1.0",
2727
"escape-html": "^1.0.3",
28-
"escape-string-regexp": "^1.0.3",
29-
"eslint": "^5.12.1",
30-
"eslint-config-standard": "^12.0.0",
31-
"eslint-plugin-import": "^2.15.0",
32-
"eslint-plugin-node": "^8.0.1",
33-
"eslint-plugin-promise": "^4.0.1",
34-
"eslint-plugin-standard": "^4.0.0",
35-
"express": "^4.13.4",
36-
"express-session": "^1.13.0",
37-
"express-sse": "^0.5.1",
38-
"extend": "^3.0.0",
39-
"fast-sort": "^1.5.6",
28+
"escape-string-regexp": "^5.0.0",
29+
"eslint": "^9.19.0",
30+
"eslint-config-standard": "^17.1.0",
31+
"eslint-plugin-import": "^2.31.0",
32+
"eslint-plugin-node": "^11.1.0",
33+
"eslint-plugin-promise": "^7.2.1",
34+
"express": "^4.21.2",
35+
"express-session": "^1.18.1",
36+
"express-sse": "^0.5.3",
37+
"extend": "^3.0.2",
38+
"fast-sort": "^3.4.1",
4039
"file-type": "^10.6.0",
41-
"filesize": "^3.6.0",
42-
"formidable": "^1.2.2",
40+
"filesize": "^10.1.6",
41+
"formidable": "^3.5.2",
4342
"http-proxy": "^1.18.1",
44-
"husky": "^1.3.1",
45-
"joi": "^14.3.1",
46-
"less-middleware": "^3.0.1",
47-
"lint-staged": "^8.1.0",
43+
"husky": "^9.1.7",
44+
"joi": "^17.13.3",
45+
"less-middleware": "^3.1.0",
46+
"lint-staged": "^15.4.3",
4847
"main-loop": "^3.4.0",
49-
"mime-types": "^2.1.26",
50-
"mkdirp": "^1.0.4",
51-
"mkdirp-promise": "^5.0.1",
52-
"moment": "^2.24.0",
53-
"multer": "^1.1.0",
54-
"multimap": "^1.0.2",
55-
"multiparty": "^4.1.3",
48+
"mime-types": "^2.1.35",
49+
"mkdirp": "^3.0.1",
50+
"moment": "^2.30.1",
51+
"multer": "^1.4.5-lts.1",
52+
"multimap": "^1.1.0",
53+
"multiparty": "^4.2.3",
5654
"mv": "^2.1.1",
57-
"mz": "^2.6.0",
58-
"passport": "^0.4.1",
55+
"mz": "^2.7.0",
56+
"passport": "^0.7.0",
5957
"pg-escape": "^0.2.0",
6058
"popups": "^1.1.3",
61-
"pug": "^0.1.0",
62-
"rdf-ext": "^0.3.0",
63-
"rdf-graph-abstract": "^0.3.0",
64-
"rdf-parser-rdfxml": "^0.3.0-rc1",
65-
"react": "^16.13.1",
66-
"react-dom": "^16.13.1",
67-
"read-chunk": "^2.1.0",
68-
"request": "^2.79.0",
69-
"sboljs": "^2.2.6",
59+
"pug": "^3.0.3",
60+
"rdf-ext": "^2.5.2",
61+
"react": "^18.3.1",
62+
"react-dom": "^18.3.1",
63+
"read-chunk": "^5.0.0",
64+
"sboljs": "^2.2.8",
7065
"sendgrid": "^5.2.3",
71-
"sequelize": "^3.32.1",
72-
"sequence-formatter": "^1.0.0",
66+
"sequelize": "^6.37.5",
67+
"sequence-formatter": "^1.1.0",
7368
"sha1": "^1.1.1",
74-
"sha1-stream": "^1.0.1",
75-
"simple-git": "^1.92.0",
76-
"sparqljs": "^1.3.0",
77-
"sqlite3": "^5.0.2",
69+
"sha1-stream": "^1.0.2",
70+
"simple-git": "^3.27.0",
71+
"sparqljs": "^3.7.3",
72+
"sqlite3": "^5.1.7",
7873
"stream-meter": "^1.0.4",
79-
"stream-to-string": "^1.1.0",
80-
"strip-ansi-stream": "^1.0.0",
74+
"stream-to-string": "^1.2.1",
75+
"strip-ansi-stream": "^2.0.1",
8176
"striptags": "^3.2.0",
82-
"tmp-promise": "^1.0.3",
83-
"trie-search": "^1.0.0",
84-
"umzug": "^2.2.0",
85-
"underscore": "^1.8.0",
86-
"uuid": "^3.2.1",
87-
"validator": "^10.9.0",
77+
"tmp-promise": "^3.0.3",
78+
"trie-search": "^2.2.0",
79+
"umzug": "^3.8.2",
80+
"underscore": "^1.13.7",
81+
"uuid": "^11.0.5",
82+
"validator": "^13.12.0",
8883
"value-event": "^5.1.1",
8984
"virtual-dom": "^2.1.1",
90-
"visbol": "^2.0.17",
91-
"visbol-react": "^1.0.68",
92-
"winston": "^3.2.1",
93-
"winston-daily-rotate-file": "^3.8.0",
94-
"xml2js": "^0.4.10",
85+
"visbol": "^2.0.22",
86+
"visbol-react": "^1.0.92",
87+
"winston": "^3.17.0",
88+
"winston-daily-rotate-file": "^5.0.0",
89+
"xml2js": "^0.6.2",
9590
"xtend": "^4.0.2"
9691
},
9792
"devDependencies": {},
@@ -116,5 +111,11 @@
116111
"git add"
117112
]
118113
},
119-
"main": "synbiohub.js"
114+
"main": "synbiohub.js",
115+
"exports": {
116+
".": "./synbiohub.js",
117+
"./lib/*": "./lib/*.js",
118+
"./lib/*.js": "./lib/*.js",
119+
"./package.json": "./package.json"
120+
}
120121
}

0 commit comments

Comments
 (0)