Merge branch 'master' into feature/public-api

This commit is contained in:
Cassie Tarakajian 2020-03-03 12:49:32 -05:00
commit 5654ed1922
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
language: node_js
node_js:
- "11.15.0"
- "12.16.1"
cache:
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 \
TERM=xterm
RUN mkdir -p $APP_HOME

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`.
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.
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
```
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
$ 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 Windows and Linux: [MongoDB Installation](https://docs.mongodb.com/manual/installation/)
6. `$ 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. `$ npm run fetch-examples` - this downloads the example sketches into a user called 'p5'
9. `$ npm start`
10. 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. Open and close the Redux DevTools using `ctrl+h`, and move them with `ctrl+w`
7. `$ cp .env.example .env`
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.
9. `$ npm run fetch-examples` - this downloads the example sketches into a user called 'p5'
10. `$ npm start`
11. Navigate to [http://localhost:8000](http://localhost:8000) in your browser
12. Install the [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)
13. Open and close the Redux DevTools using `ctrl+h`, and move them with `ctrl+w`
## Docker Installation

View file

@ -14,7 +14,7 @@ services:
# uncomment the following lines if you don't want export all of the variables
# defined in your .env file for testing
# env_file:
# - "$PWD/.env"
# - "$PWD/.env.production"
environment:
- API_URL
- MONGO_URL
@ -38,7 +38,9 @@ services:
- GOOGLE_SECRET
- EXAMPLE_USER_EMAIL
- 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
# or here YOU CHOOSE
# - 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-transform-react-constant-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-core": "^7.0.0-bridge.0",
"babel-eslint": "^9.0.0",
@ -69,9 +69,9 @@
"enzyme-adapter-react-16": "^1.15.2",
"eslint": "^4.19.1",
"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-react": "^7.18.0",
"eslint-plugin-react": "^7.18.3",
"file-loader": "^2.0.0",
"jest": "^24.9.0",
"mini-css-extract-plugin": "^0.8.2",
@ -87,16 +87,17 @@
"sass-loader": "^6.0.7",
"style-loader": "^1.1.3",
"terser-webpack-plugin": "^1.4.3",
"webpack-cli": "^3.3.10",
"webpack-cli": "^3.3.11",
"webpack-manifest-plugin": "^2.2.0",
"webpack-node-externals": "^1.7.2"
},
"engines": {
"node": "11.15.0",
"npm": "6.7.0"
"node": "12.16.1",
"npm": "6.13.4"
},
"dependencies": {
"@babel/core": "^7.8.3",
"@auth0/s3": "^1.0.0",
"@babel/core": "^7.8.4",
"@babel/polyfill": "^7.8.3",
"@babel/register": "^7.8.3",
"archiver": "^1.1.0",
@ -108,7 +109,7 @@
"bson-objectid": "^1.3.0",
"classnames": "^2.2.6",
"clipboard": "^1.7.1",
"codemirror": "^5.51.0",
"codemirror": "^5.52.0",
"connect-mongo": "^1.3.2",
"console-feed": "^2.8.11",
"cookie-parser": "^1.4.3",
@ -135,7 +136,7 @@
"loop-protect": "github:catarak/loop-protect",
"mjml": "^3.3.2",
"mockingoose": "^2.13.2",
"mongoose": "^5.8.10",
"mongoose": "^5.9.2",
"node-uuid": "^1.4.7",
"nodemailer": "^2.6.4",
"nodemailer-mailgun-transport": "^1.4.0",
@ -164,10 +165,9 @@
"redux-devtools-log-monitor": "^1.4.0",
"redux-form": "^5.3.3",
"redux-thunk": "^2.3.0",
"request": "^2.88.0",
"request": "^2.88.2",
"request-promise": "^4.2.5",
"reselect": "^4.0.0",
"s3": "^4.4.0",
"s3-policy": "^0.2.0",
"sass-extract": "^2.1.0",
"sass-extract-js": "^0.4.0",
@ -178,7 +178,7 @@
"slugify": "^1.3.6",
"srcdoc-polyfill": "^0.2.0",
"url": "^0.11.0",
"webpack": "^4.41.5",
"webpack": "^4.41.6",
"webpack-dev-middleware": "^2.0.6",
"webpack-hot-middleware": "^2.24.3",
"xhr": "^2.5.0"

View file

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

View file

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

View file

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

View file

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