Merge pull request #1308 from processing/upgrade-node

Upgrade node version to 12.16.1, update Node installation docs
This commit is contained in:
Cassie Tarakajian 2020-03-03 12:48:21 -05:00 committed by GitHub
commit 8bf9c1089a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 844 additions and 324 deletions

1
.nvmrc Normal file
View file

@ -0,0 +1 @@
12.16.1

View file

@ -1,7 +1,7 @@
sudo: required sudo: required
language: node_js language: node_js
node_js: node_js:
- "11.15.0" - "12.16.1"
cache: cache:
directories: directories:

View file

@ -1,4 +1,4 @@
FROM node:10.15.0 as base FROM node:12.16.1 as base
ENV APP_HOME=/usr/src/app \ ENV APP_HOME=/usr/src/app \
TERM=xterm TERM=xterm
RUN mkdir -p $APP_HOME RUN mkdir -p $APP_HOME

View file

@ -34,7 +34,7 @@ function About(props) {
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" /> <InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" />
Examples Examples
</a> </a>
</p> </p>
<p className="about__content-column-list"> <p className="about__content-column-list">
@ -44,7 +44,7 @@ function About(props) {
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" /> <InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" />
Learn Learn
</a> </a>
</p> </p>
</div> </div>
@ -57,7 +57,7 @@ function About(props) {
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" /> <InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" />
Libraries Libraries
</a> </a>
</p> </p>
<p className="about__content-column-list"> <p className="about__content-column-list">
@ -67,7 +67,7 @@ function About(props) {
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" /> <InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" />
Reference Reference
</a> </a>
</p> </p>
<p className="about__content-column-list"> <p className="about__content-column-list">
@ -77,7 +77,7 @@ function About(props) {
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" /> <InlineSVG className="about__content-column-asterisk" src={asteriskUrl} alt="p5 asterisk" />
Forum Forum
</a> </a>
</p> </p>
</div> </div>

View file

@ -6,7 +6,7 @@ Follow these instructions to set up your development environment, which you need
_Note_: The installation steps assume you are using a Unix-like shell. If you are using Windows, you will need to use `copy` instead of `cp`. _Note_: The installation steps assume you are using a Unix-like shell. If you are using Windows, you will need to use `copy` instead of `cp`.
1. Install [node.js](https://nodejs.org/download/release/v11.15.0/) version 11.15.0 which also automatically installs the [npm](https://www.npmjs.org) package manager. 1. Install Node.js. The recommended way is to Node through [nvm](https://github.com/nvm-sh/nvm). You can also install [node.js](https://nodejs.org/download/release/v12.16.1/) version 12.16.1 directly from the Node.js website.
2. [Fork](https://help.github.com/articles/fork-a-repo) the [p5.js Web Editor repository](https://github.com/processing/p5.js-web-editor) into your own GitHub account. 2. [Fork](https://help.github.com/articles/fork-a-repo) the [p5.js Web Editor repository](https://github.com/processing/p5.js-web-editor) into your own GitHub account.
3. [Clone](https://help.github.com/articles/cloning-a-repository/) your new fork of the repository from GitHub onto your local computer. 3. [Clone](https://help.github.com/articles/cloning-a-repository/) your new fork of the repository from GitHub onto your local computer.
@ -14,22 +14,23 @@ _Note_: The installation steps assume you are using a Unix-like shell. If you ar
$ git clone https://github.com/YOUR_USERNAME/p5.js-web-editor.git $ git clone https://github.com/YOUR_USERNAME/p5.js-web-editor.git
``` ```
4. Navigate into the project folder and install all its necessary dependencies with npm. 4. If you are using nvm, run `$ nvm use` to set your Node version to 12.16.1
5. Navigate into the project folder and install all its necessary dependencies with npm.
``` ```
$ cd p5.js-web-editor $ cd p5.js-web-editor
$ npm install $ npm install
``` ```
5. Install MongoDB and make sure it is running 6. Install MongoDB and make sure it is running
* For Mac OSX with [homebrew](http://brew.sh/): `brew tap mongodb/brew` then `brew install mongodb-community` and finally start the server with `brew services start mongodb-community` or you can visit the installation guide here [Installation Guide For MacOS](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/) * For Mac OSX with [homebrew](http://brew.sh/): `brew tap mongodb/brew` then `brew install mongodb-community` and finally start the server with `brew services start mongodb-community` or you can visit the installation guide here [Installation Guide For MacOS](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/)
* For Windows and Linux: [MongoDB Installation](https://docs.mongodb.com/manual/installation/) * For Windows and Linux: [MongoDB Installation](https://docs.mongodb.com/manual/installation/)
6. `$ cp .env.example .env` 7. `$ cp .env.example .env`
7. (Optional) Update `.env` with necessary keys to enable certain app behavoirs, i.e. add Github ID and Github Secret if you want to be able to log in with Github. 8. (Optional) Update `.env` with necessary keys to enable certain app behavoirs, i.e. add Github ID and Github Secret if you want to be able to log in with Github.
8. `$ npm run fetch-examples` - this downloads the example sketches into a user called 'p5' 9. `$ npm run fetch-examples` - this downloads the example sketches into a user called 'p5'
9. `$ npm start` 10. `$ npm start`
10. Navigate to [http://localhost:8000](http://localhost:8000) in your browser 11. Navigate to [http://localhost:8000](http://localhost:8000) in your browser
11. Install the [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) 12. Install the [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)
12. Open and close the Redux DevTools using `ctrl+h`, and move them with `ctrl+w` 13. Open and close the Redux DevTools using `ctrl+h`, and move them with `ctrl+w`
## Docker Installation ## Docker Installation

View file

@ -14,7 +14,7 @@ services:
# uncomment the following lines if you don't want export all of the variables # uncomment the following lines if you don't want export all of the variables
# defined in your .env file for testing # defined in your .env file for testing
# env_file: # env_file:
# - "$PWD/.env" # - "$PWD/.env.production"
environment: environment:
- API_URL - API_URL
- MONGO_URL - MONGO_URL
@ -38,7 +38,9 @@ services:
- GOOGLE_SECRET - GOOGLE_SECRET
- EXAMPLE_USER_EMAIL - EXAMPLE_USER_EMAIL
- EXAMPLE_USER_PASSWORD - EXAMPLE_USER_PASSWORD
- FORCE_TO_HTTPS - ML5_EXAMPLES_USERNAME
- ML5_EXAMPLES_PASS
- ML5_EXAMPLES_EMAIL
# you can either set this in your .env or as an environment variables # you can either set this in your .env or as an environment variables
# or here YOU CHOOSE # or here YOU CHOOSE
# - MONGO_URL=mongodb://mongo:27017/p5js-web-editor # - MONGO_URL=mongodb://mongo:27017/p5js-web-editor

1094
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -56,7 +56,7 @@
"@babel/plugin-syntax-import-meta": "^7.8.3", "@babel/plugin-syntax-import-meta": "^7.8.3",
"@babel/plugin-transform-react-constant-elements": "^7.8.3", "@babel/plugin-transform-react-constant-elements": "^7.8.3",
"@babel/plugin-transform-react-inline-elements": "^7.8.3", "@babel/plugin-transform-react-inline-elements": "^7.8.3",
"@babel/preset-env": "^7.8.3", "@babel/preset-env": "^7.8.4",
"@babel/preset-react": "^7.8.3", "@babel/preset-react": "^7.8.3",
"babel-core": "^7.0.0-bridge.0", "babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^9.0.0", "babel-eslint": "^9.0.0",
@ -69,9 +69,9 @@
"enzyme-adapter-react-16": "^1.15.2", "enzyme-adapter-react-16": "^1.15.2",
"eslint": "^4.19.1", "eslint": "^4.19.1",
"eslint-config-airbnb": "^16.1.0", "eslint-config-airbnb": "^16.1.0",
"eslint-plugin-import": "^2.20.0", "eslint-plugin-import": "^2.20.1",
"eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "^7.18.0", "eslint-plugin-react": "^7.18.3",
"file-loader": "^2.0.0", "file-loader": "^2.0.0",
"jest": "^24.9.0", "jest": "^24.9.0",
"mini-css-extract-plugin": "^0.8.2", "mini-css-extract-plugin": "^0.8.2",
@ -87,16 +87,17 @@
"sass-loader": "^6.0.7", "sass-loader": "^6.0.7",
"style-loader": "^1.1.3", "style-loader": "^1.1.3",
"terser-webpack-plugin": "^1.4.3", "terser-webpack-plugin": "^1.4.3",
"webpack-cli": "^3.3.10", "webpack-cli": "^3.3.11",
"webpack-manifest-plugin": "^2.2.0", "webpack-manifest-plugin": "^2.2.0",
"webpack-node-externals": "^1.7.2" "webpack-node-externals": "^1.7.2"
}, },
"engines": { "engines": {
"node": "11.15.0", "node": "12.16.1",
"npm": "6.7.0" "npm": "6.13.4"
}, },
"dependencies": { "dependencies": {
"@babel/core": "^7.8.3", "@auth0/s3": "^1.0.0",
"@babel/core": "^7.8.4",
"@babel/polyfill": "^7.8.3", "@babel/polyfill": "^7.8.3",
"@babel/register": "^7.8.3", "@babel/register": "^7.8.3",
"archiver": "^1.1.0", "archiver": "^1.1.0",
@ -108,7 +109,7 @@
"bson-objectid": "^1.3.0", "bson-objectid": "^1.3.0",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"clipboard": "^1.7.1", "clipboard": "^1.7.1",
"codemirror": "^5.51.0", "codemirror": "^5.52.0",
"connect-mongo": "^1.3.2", "connect-mongo": "^1.3.2",
"console-feed": "^2.8.11", "console-feed": "^2.8.11",
"cookie-parser": "^1.4.3", "cookie-parser": "^1.4.3",
@ -135,7 +136,7 @@
"loop-protect": "github:catarak/loop-protect", "loop-protect": "github:catarak/loop-protect",
"mjml": "^3.3.2", "mjml": "^3.3.2",
"mockingoose": "^2.13.2", "mockingoose": "^2.13.2",
"mongoose": "^5.8.10", "mongoose": "^5.9.2",
"node-uuid": "^1.4.7", "node-uuid": "^1.4.7",
"nodemailer": "^2.6.4", "nodemailer": "^2.6.4",
"nodemailer-mailgun-transport": "^1.4.0", "nodemailer-mailgun-transport": "^1.4.0",
@ -162,10 +163,9 @@
"redux-devtools-log-monitor": "^1.4.0", "redux-devtools-log-monitor": "^1.4.0",
"redux-form": "^5.3.3", "redux-form": "^5.3.3",
"redux-thunk": "^2.3.0", "redux-thunk": "^2.3.0",
"request": "^2.88.0", "request": "^2.88.2",
"request-promise": "^4.2.5", "request-promise": "^4.2.5",
"reselect": "^4.0.0", "reselect": "^4.0.0",
"s3": "^4.4.0",
"s3-policy": "^0.2.0", "s3-policy": "^0.2.0",
"sass-extract": "^2.1.0", "sass-extract": "^2.1.0",
"sass-extract-js": "^0.4.0", "sass-extract-js": "^0.4.0",
@ -176,7 +176,7 @@
"slugify": "^1.3.6", "slugify": "^1.3.6",
"srcdoc-polyfill": "^0.2.0", "srcdoc-polyfill": "^0.2.0",
"url": "^0.11.0", "url": "^0.11.0",
"webpack": "^4.41.5", "webpack": "^4.41.6",
"webpack-dev-middleware": "^2.0.6", "webpack-dev-middleware": "^2.0.6",
"webpack-hot-middleware": "^2.24.3", "webpack-hot-middleware": "^2.24.3",
"xhr": "^2.5.0" "xhr": "^2.5.0"

View file

@ -1,6 +1,6 @@
import uuid from 'node-uuid'; import uuid from 'node-uuid';
import policy from 's3-policy'; import policy from 's3-policy';
import s3 from 's3'; import s3 from '@auth0/s3';
import { getProjectsForUserId } from './project.controller'; import { getProjectsForUserId } from './project.controller';
import { findUserByUsername } from './user.controller'; import { findUserByUsername } from './user.controller';

View file

@ -13,7 +13,7 @@ mongoose.connection.on('error', () => {
import Project from '../models/project'; import Project from '../models/project';
import User from '../models/user'; import User from '../models/user';
import s3 from 's3'; import s3 from '@auth0/s3';
let client = s3.createClient({ let client = s3.createClient({
maxAsyncS3: 20, maxAsyncS3: 20,

View file

@ -1,5 +1,5 @@
/* eslint-disable */ /* eslint-disable */
import s3 from 's3'; import s3 from '@auth0/s3';
import path from 'path'; import path from 'path';
import mongoose from 'mongoose'; import mongoose from 'mongoose';
import User from '../models/user'; import User from '../models/user';

View file

@ -1,5 +1,5 @@
/* eslint-disable */ /* eslint-disable */
import s3 from 's3'; import s3 from '@auth0/s3';
import path from 'path'; import path from 'path';
import mongoose from 'mongoose'; import mongoose from 'mongoose';
import User from '../models/user'; import User from '../models/user';