Преглед изворни кода

Merge pull request #81 from overleaf/em-upgrade-node-12

Upgrade to Node 12
Eric Mc Sween пре 5 година
родитељ
комит
6e6a1476e2

+ 3 - 0
services/spelling/.mocharc.json

@@ -0,0 +1,3 @@
+{
+  "require": "test/setup.js"
+}

+ 1 - 1
services/spelling/.nvmrc

@@ -1 +1 @@
-10.23.1
+12.21.0

+ 1 - 1
services/spelling/Dockerfile

@@ -2,7 +2,7 @@
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 
-FROM node:10.23.1 as base
+FROM node:12.21.0 as base
 
 WORKDIR /app
 COPY install_deps.sh /app

+ 4 - 2
services/spelling/Makefile

@@ -21,8 +21,10 @@ DOCKER_COMPOSE_TEST_UNIT = \
 	COMPOSE_PROJECT_NAME=test_unit_$(BUILD_DIR_NAME) $(DOCKER_COMPOSE)
 
 clean:
-	docker rmi ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
-	docker rmi gcr.io/overleaf-ops/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
+	-docker rmi ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
+	-docker rmi gcr.io/overleaf-ops/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
+	-$(DOCKER_COMPOSE_TEST_UNIT) down --rmi local
+	-$(DOCKER_COMPOSE_TEST_ACCEPTANCE) down --rmi local
 
 format:
 	$(DOCKER_COMPOSE) run --rm test_unit npm run --silent format

+ 2 - 2
services/spelling/buildscript.txt

@@ -4,6 +4,6 @@ spelling
 --docker-repos=gcr.io/overleaf-ops
 --env-add=
 --env-pass-through=
---node-version=10.23.1
+--node-version=12.21.0
 --public-repo=False
---script-version=3.4.0
+--script-version=3.7.0

+ 21 - 0
services/spelling/test/setup.js

@@ -0,0 +1,21 @@
+const chai = require('chai')
+const SandboxedModule = require('sandboxed-module')
+
+// Chai configuration
+chai.should()
+
+// SandboxedModule configuration
+SandboxedModule.configure({
+  requires: {
+    'logger-sharelatex': {
+      debug() {},
+      log() {},
+      info() {},
+      warn() {},
+      err() {},
+      error() {},
+      fatal() {}
+    }
+  },
+  globals: { Buffer, JSON, console, process }
+})

+ 2 - 9
services/spelling/test/unit/js/ASpellTests.js

@@ -9,20 +9,13 @@
  * DS102: Remove unnecessary code created because of implicit returns
  * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  */
-const chai = require('chai')
-const should = chai.should()
+const { expect, assert } = require('chai')
 const SandboxedModule = require('sandboxed-module')
-const { assert } = require('chai')
 
 describe('ASpell', function () {
   beforeEach(function () {
     return (this.ASpell = SandboxedModule.require('../../../app/js/ASpell', {
       requires: {
-        'logger-sharelatex': {
-          log() {},
-          info() {},
-          err() {}
-        },
         '@overleaf/metrics': {
           gauge() {},
           inc() {}
@@ -93,7 +86,7 @@ describe('ASpell', function () {
     })
 
     return it('should return an error', function () {
-      return should.exist(this.error)
+      return expect(this.error).to.exist
     })
   })
 

+ 1 - 7
services/spelling/test/unit/js/ASpellWorkerTests.js

@@ -3,8 +3,7 @@
     no-undef
 */
 const sinon = require('sinon')
-const chai = require('chai')
-const { expect } = chai
+const { expect } = require('chai')
 const SandboxedModule = require('sandboxed-module')
 const EventEmitter = require('events')
 
@@ -15,11 +14,6 @@ describe('ASpellWorker', function () {
       '../../../app/js/ASpellWorker',
       {
         requires: {
-          'logger-sharelatex': {
-            log() {},
-            info() {},
-            err() {}
-          },
           '@overleaf/metrics': {
             gauge() {},
             inc() {}

+ 2 - 11
services/spelling/test/unit/js/LearnedWordsManagerTests.js

@@ -1,12 +1,11 @@
 const sinon = require('sinon')
-const chai = require('chai')
-const { expect } = chai
+const { assert, expect } = require('chai')
 const SandboxedModule = require('sandboxed-module')
 const modulePath = require('path').join(
   __dirname,
   '../../../app/js/LearnedWordsManager'
 )
-const { assert } = require('chai')
+
 describe('LearnedWordsManager', function () {
   beforeEach(function () {
     this.token = 'a6b3cd919ge'
@@ -22,17 +21,9 @@ describe('LearnedWordsManager', function () {
       del: sinon.stub()
     }
     this.LearnedWordsManager = SandboxedModule.require(modulePath, {
-      globals: {
-        console: console
-      },
       requires: {
         './mongodb': { db: this.db },
         './MongoCache': this.cache,
-        'logger-sharelatex': {
-          log() {},
-          err() {},
-          info() {}
-        },
         '@overleaf/metrics': {
           timeAsyncMethod: sinon.stub(),
           inc: sinon.stub()

+ 1 - 3
services/spelling/test/unit/js/SpellingAPIManagerTests.js

@@ -2,9 +2,7 @@
     handle-callback-err
 */
 const sinon = require('sinon')
-const chai = require('chai')
-const { expect } = chai
-chai.should()
+const { expect } = require('chai')
 const SandboxedModule = require('sandboxed-module')
 const modulePath = require('path').join(
   __dirname,