diff --git a/.babelrc b/.babelrc index 1458c7de..70c6f3a3 100644 --- a/.babelrc +++ b/.babelrc @@ -10,7 +10,8 @@ "last 2 Chrome versions" ] }, - "useBuiltIns": "entry" + "useBuiltIns": "entry", + "corejs": 3 } ], "@babel/preset-react" @@ -35,7 +36,8 @@ "iOS >= 10" ] }, - "useBuiltIns": "entry" + "useBuiltIns": "entry", + "corejs": 3 } ], "@babel/preset-react" @@ -56,7 +58,8 @@ "last 2 Chrome versions" ] }, - "useBuiltIns": "entry" + "useBuiltIns": "entry", + "corejs": 3 } ], "@babel/preset-react" diff --git a/lib/stage.js b/lib/stage.js index 93d4f869..179da40b 100644 --- a/lib/stage.js +++ b/lib/stage.js @@ -193,12 +193,14 @@ class Stage { renderBoardComponent() { const boardComponent = React.createElement(BoardComponent, this.boardComponentProps); - this.boardComponent = ReactDOM.render(boardComponent, $('.board-area').get(0)); + ReactDOM.render(boardComponent, $('.board-area').get(0)); + this.boardComponent = boardComponent; } renderPanelComponent() { const panelComponent = React.createElement(PanelComponent, this.panelComponentProps); - this.panelComponent = ReactDOM.render(panelComponent, $('.panel-area').get(0)); + ReactDOM.render(panelComponent, $('.panel-area').get(0)); + this.panelComponent = panelComponent; } saveStage() { diff --git a/package.json b/package.json index a40870fa..4be34ceb 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "engines": { - "node": "^11.0.0" + "node": "^13.0.0" }, "scripts": { "js": "cross-env BABEL_ENV=debug webpack --mode development", @@ -47,95 +47,95 @@ }, "homepage": "https://github.com/tsg-ut/mnemo#readme", "devDependencies": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-react": "^7.0.0", - "autoprefixer": "^9.1.5", - "babel-eslint": "^10.0.1", - "babel-loader": "^8.0.0", + "@babel/core": "^7.8.6", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/preset-env": "^7.8.6", + "@babel/preset-react": "^7.8.3", + "autoprefixer": "^9.7.4", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.0.6", "babel-minify-webpack-plugin": "^0.3.1", - "babel-plugin-istanbul": "^5.0.1", + "babel-plugin-istanbul": "^6.0.0", "babel-plugin-transform-inline-environment-variables": "^6.8.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.18", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24", "chai": "^4.2.0", "chai-enzyme": "beta", - "chai-http": "^4.2.0", + "chai-http": "^4.3.0", "chai-things": "^0.2.0", - "chokidar-cli": "^1.2.1", - "codecov": "^3.1.0", - "concurrently": "^4.0.1", + "chokidar-cli": "^2.1.0", + "codecov": "^3.6.5", + "concurrently": "^5.1.0", "create-react-class": "^15.6.3", - "cross-env": "^5.2.0", - "cssnano": "^4.1.4", - "electron": "^4.0.0", - "enzyme": "^3.6.0", - "enzyme-adapter-react-16": "^1.5.0", - "eslint": "^5.6.0", - "eslint-plugin-react": "^7.11.1", - "fetch-ponyfill": "^6.0.2", - "file-url": "^2.0.2", - "github-fork-ribbon-css": "^0.2.1", - "gsap": "^2.0.2", + "cross-env": "^7.0.0", + "cssnano": "^4.1.10", + "electron": "^8.0.2", + "enzyme": "^3.11.0", + "enzyme-adapter-react-16": "^1.15.2", + "eslint": "^6.8.0", + "eslint-plugin-react": "^7.18.3", + "fetch-ponyfill": "^6.1.0", + "file-url": "^3.0.0", + "github-fork-ribbon-css": "^0.2.3", + "gsap": "^3.2.4", "hammerjs": "^2.0.8", - "immutable": "^4.0.0-rc.9", + "immutable": "^4.0.0-rc.12", "istanbul": "next", - "jquery": "^3.3.1", - "karma": "^4.0.0", - "karma-coverage": "^1.1.2", - "karma-electron": "^6.0.0", + "jquery": "^3.4.1", + "karma": "^4.4.1", + "karma-coverage": "^2.0.1", + "karma-electron": "^6.3.0", "karma-mocha": "^1.3.0", "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "^0.0.32", - "karma-webpack": "^3.0.5", - "less": "^3.8.1", + "karma-webpack": "^4.0.2", + "less": "^3.11.1", "livescript-loader": "^0.1.6", - "mathjs": "^5.1.2", + "mathjs": "^6.6.1", "microtime": "^3.0.0", - "mocha": "^6.0.0", + "mocha": "^7.1.0", "mocha-logger": "^1.0.6", "mocha-webpack": "^2.0.0-beta.0", "mockery": "^2.1.0", - "nightmare": "^3.0.1", - "normalize.css": "^8.0.0", + "nightmare": "^3.0.2", + "normalize.css": "^8.0.1", "postcss-assets": "^5.0.0", - "postcss-cli": "^6.0.0", - "postcss-flexbugs-fixes": "^4.1.0", - "postcss-font-magician": "^2.2.1", - "prop-types": "^15.6.2", + "postcss-cli": "^7.1.0", + "postcss-flexbugs-fixes": "^4.2.0", + "postcss-font-magician": "^2.3.1", + "prop-types": "^15.7.2", "pug-cli": "^1.0.0-alpha6", - "react": "^16.5.2", - "react-dom": "^16.5.2", + "react": "^16.13.0", + "react-dom": "^16.13.0", "react-gsap-enhancer": "^0.3.0", "react-hammerjs": "JedWatson/react-hammerjs", - "react-measure": "^2.1.2", - "react-test-renderer": "^16.5.2", - "sequelize-cli": "^5.0.0", - "sqlite3": "^4.0.2", + "react-measure": "^2.3.0", + "react-test-renderer": "^16.13.0", + "sequelize-cli": "^5.5.1", + "sqlite3": "^4.1.1", "svg-path-generator": "^1.1.0", - "umzug": "^2.1.0", - "webpack": "^4.20.2", - "webpack-cli": "^3.1.1", - "webpack-dev-server": "^3.1.9", + "umzug": "^2.2.0", + "webpack": "^4.42.0", + "webpack-cli": "^3.3.11", + "webpack-dev-server": "^3.10.3", "webpack-node-externals": "^1.7.2" }, "dependencies": { - "bluebird": "^3.5.2", - "body-parser": "^1.18.3", + "bluebird": "^3.7.2", + "body-parser": "^1.19.0", "common-tags": "^1.8.0", - "core-js": "^2.5.7", - "cors": "^2.8.4", - "express": "^4.16.3", + "core-js": "^3.6.4", + "cors": "^2.8.5", + "express": "^4.17.1", "express-promise-router": "^3.0.3", - "forcedomain": "^1.0.0", + "forcedomain": "^2.0.0", "lcov-result-merger": "^3.1.0", "node-slack": "^0.0.7", - "pg": "^6.4.2", - "regenerator-runtime": "^0.12.1", - "request": "^2.88.0", - "seedrandom": "^2.4.4", - "sequelize": "^4.39.0" + "pg": "^7.18.2", + "regenerator-runtime": "^0.13.3", + "request": "^2.88.2", + "seedrandom": "^3.0.5", + "sequelize": "^5.21.5" }, "resolutions": { "webpack-sources": "1.0.1" diff --git a/test/unit/stages.ls b/test/unit/stages.ls index 36e6158b..011d930e 100644 --- a/test/unit/stages.ls +++ b/test/unit/stages.ls @@ -91,8 +91,9 @@ factorization-calc = (n) -> spaceship-calc = (a, b) -> Math.sign a - b ten-thousandth-digit-calc = (n) -> - mathjs.config precision: 20000 - x = mathjs.divide mathjs.bignumber(1), mathjs.bignumber(n) + m = mathjs.create mathjs.all + m.config precision: 10010 + x = m.divide m.bignumber(1), m.bignumber(n) return x.to-string!split '.' .1.9999 |> parse-int eight-eight-zero-nine-calc = (n) -> @@ -371,6 +372,7 @@ describe 'Stage Data' -> describe '10000th-digit stage' -> It 'generates 10000th-digit' -> + @timeout 30000 test-many-times-with-random (random) -> io = ten-thousandth-digit.io-generator random