Bumps minimum node engine to 8+ (#4474)

* Use node 8 as development environment

* fixup! Use node 8 as development environment

* bump node to 8.10

* Targets node 8 for everything

* Run npm install so lock file is up to date

* Use push adapter v3

* Deflake a test on ParseUser

* Adds slight delay after logout

* Ensure we wait even if call fails

* Use node carbon
This commit is contained in:
Florent Vilmart
2018-05-18 15:49:00 -04:00
committed by GitHub
parent 77ed10f57b
commit a619119684
8 changed files with 12941 additions and 16 deletions

View File

@@ -6,7 +6,7 @@
"presets": [ "presets": [
["env", { ["env", {
"targets": { "targets": {
"node": "6.11.4" "node": "8"
} }
}] }]
] ]

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
8.10

View File

@@ -25,13 +25,13 @@ stage: test
env: env:
global: global:
- COVERAGE_OPTION='./node_modules/.bin/nyc' - COVERAGE_OPTION='./node_modules/.bin/nyc'
- NODE_VERSION=6.11.4 - NODE_VERSION=8.11.2
matrix: matrix:
- MONGODB_VERSION=3.2.13 - MONGODB_VERSION=3.2.13
- MONGODB_VERSION=3.4.4 - MONGODB_VERSION=3.4.4
- PARSE_SERVER_TEST_DB=postgres - PARSE_SERVER_TEST_DB=postgres
- PARSE_SERVER_TEST_CACHE=redis - PARSE_SERVER_TEST_CACHE=redis
- NODE_VERSION=8.7 - NODE_VERSION=stable
before_install: before_install:
- nvm install $NODE_VERSION - nvm install $NODE_VERSION
- nvm use $NODE_VERSION - nvm use $NODE_VERSION
@@ -50,7 +50,7 @@ jobs:
include: include:
# release on github latest branch # release on github latest branch
- stage: release - stage: release
node_js: '6.11.4' node_js: '8.10'
env: env:
before_script: skip before_script: skip
after_script: skip after_script: skip

View File

@@ -1,4 +1,4 @@
FROM node:boron FROM node:carbon
RUN mkdir -p /parse-server RUN mkdir -p /parse-server
COPY ./ /parse-server/ COPY ./ /parse-server/

12913
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"dependencies": { "dependencies": {
"@parse/fs-files-adapter": "1.0.1", "@parse/fs-files-adapter": "1.0.1",
"@parse/push-adapter": "2.0.3", "@parse/push-adapter": "3.0.0-alpha2",
"@parse/s3-files-adapter": "1.2.1", "@parse/s3-files-adapter": "1.2.1",
"@parse/simple-mailgun-adapter": "1.0.2", "@parse/simple-mailgun-adapter": "1.0.2",
"bcryptjs": "2.4.3", "bcryptjs": "2.4.3",
@@ -74,11 +74,11 @@
"test": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 jasmine", "test": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 jasmine",
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 nyc jasmine", "coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 nyc jasmine",
"start": "node ./bin/parse-server", "start": "node ./bin/parse-server",
"prepublish": "npm run build", "prepare": "npm run build",
"postinstall": "node -p 'require(\"./postinstall.js\")()'" "postinstall": "node -p 'require(\"./postinstall.js\")()'"
}, },
"engines": { "engines": {
"node": ">=6.11.4" "node": ">= 8"
}, },
"bin": { "bin": {
"parse-server": "./bin/parse-server" "parse-server": "./bin/parse-server"

View File

@@ -3580,14 +3580,18 @@ describe('Parse.User testing', () => {
email: 'yo@lo.com' email: 'yo@lo.com'
}).then(() => { }).then(() => {
const token = user.getSessionToken(); const token = user.getSessionToken();
const promises = []; let promise = Promise.resolve();
while(promises.length != 5) { let count = 0;
promises.push(Parse.User.logIn('yolo', 'yolo').then((res) => { while(count < 5) {
// ensure a new session token is generated at each login promise = promise.then(() => {
expect(res.getSessionToken()).not.toBe(token); return Parse.User.logIn('yolo', 'yolo').then((res) => {
})); // ensure a new session token is generated at each login
expect(res.getSessionToken()).not.toBe(token);
});
});
count++;
} }
return Promise.all(promises); return promise;
}).then(() => { }).then(() => {
// wait because session destruction is not synchronous // wait because session destruction is not synchronous
return new Promise((resolve) => { return new Promise((resolve) => {

View File

@@ -217,7 +217,14 @@ afterEach(function(done) {
}); });
}) })
.then(() => Parse.User.logOut()) .then(() => Parse.User.logOut())
.then(afterLogOut, afterLogOut) .then(() => {}, () => {}) // swallow errors
.then(() => {
// Connection close events are not immediate on node 10+... wait a bit
return new Promise((resolve) => {
setTimeout(resolve, 0);
});
})
.then(afterLogOut)
}); });
const TestObject = Parse.Object.extend({ const TestObject = Parse.Object.extend({