Commit Graph

192 Commits

Author SHA1 Message Date
Cassie Tarakajian 81cc10de97 update axios to latest version 2019-06-18 15:38:21 -04:00
Andrew Nicolaou d6438aa3b2 Merge branch 'master' into feature/public-api 2019-06-12 12:03:22 +02:00
Andrew Nicolaou d2cad7438e
Test create project server code (prep for #1095)
* upgrades jest to latest version

* tests Project model with mockingoose

* extracts createProject controller to own file

* tests createProject controller with sinon-mongoose
2019-06-12 11:27:28 +02:00
Andrew Nicolaou f8d6cb4940 Merge branch 'master' into feature/public-api 2019-06-11 09:59:22 +02:00
siddhant b7df80a96c Add sorting to sketches #789 (#910)
* reselect added

* Added Reselect Sorting

* Refactor App

* added svgs

* Refactor

* Fixed Issues

* re: #789, update sorting styling, create sorting actions and reducers, add sort by sketch name

* re #789, change names of svg icons

* re: #789, use orderBy instead of sortBy, fix styling jumps
2019-06-06 17:17:33 -04:00
Cassie Tarakajian 18f646bde9
for #950, update babel to v7 (#1077)
* for #950, upgrade babel to v7

* fix linting errors

* for #950, remove @babel/core from devDependencies (so it's only in dependencies) and change babel-loader config to use .babelrc

* for #950, changes to .babelrc to make  work

* for #950, include core-js modules in webpack config for IE support with babel/plugin-syntax-dynamic-import

* for #950, update babel and associated packages to LTS
2019-06-05 12:05:31 -04:00
Andrew Nicolaou 5bf2835ed6 Experiment with "Checks" in Travis output (#1081)
* Run tests on CI

* Create a lint error on purpose

* Splits build into test and deploy stages

lint and test jobs will run in parallel and if both are successful
(and branch is master), deploy will run.

* Revert "Create a lint error on purpose"

This reverts commit 306c91c4278631fa1c1dcd40f0b23f7f9e5f000d.

* Updating snapshot

* Run deploy only on master branch (not PRs)

* Use global deploy config item to avoid building on PRs
2019-05-29 17:29:53 -04:00
Vertmo f0b669d5af Added Basic Auth using passport-http 2019-05-29 12:51:50 -04:00
Andrew Nicolaou 137ea783ea Experiment with "Checks" in Travis output (#1081)
* Run tests on CI

* Create a lint error on purpose

* Splits build into test and deploy stages

lint and test jobs will run in parallel and if both are successful
(and branch is master), deploy will run.

* Revert "Create a lint error on purpose"

This reverts commit 306c91c4278631fa1c1dcd40f0b23f7f9e5f000d.

* Updating snapshot

* Run deploy only on master branch (not PRs)

* Use global deploy config item to avoid building on PRs
2019-05-24 12:16:15 -04:00
Joey Lee a5753b5e4c Script to fetch ml5 examples from Github Repo (#1051)
* replaced () with {} to fix implicit return error

* added first version of fetching generative-design examples

* ignore local testing files

* formatting

* updated examples-gg-latest

* updated examples-gg-latest.js

- data files not served via rawgit - hallelujah!
- added jquery

* updated p5 version

* refactoring and code cleanup

* added comment

* comment out link to svgFiles - unused

* moved commented code

* fixed conflicts

* linted examples-gg-latest

* removed console.log of response.data to prevent logging user data to console

* fixed linting error

* initial commit for setting up automated ml5 example fetching

* rm logs from .env replaced with placeholder

* added functions for retrieving all assets from examples sketches

* added recursive walk through to get all directories and files

* added functions t format files for making project

* added full working test

* added comments and formated code

* added comments

* set username at to of code

* added process.exit() on complete

* added linting and fixed errors

* rm await in return

* added es lint disable for reduce()

* rm package-lock.json

* reset package-lock.json to master

* "updated .env.example with dummy logins"

* updated .env.example for consistency

* added p5 user checking

* fixed linting issues

* add webpack config to build ml5 example fetching bundle
2019-05-02 15:12:06 -04:00
Cassie Tarakajian 5abf4c4e06
fixes #1026 (#1028) 2019-04-11 16:25:37 -04:00
Cassie Tarakajian 145d058bf5 Merge branch 'Code_splitting' of git://github.com/siddhant1/p5.js-web-editor into siddhant1-Code_splitting 2019-03-05 16:26:28 -05:00
Cassie Tarakajian d9670f7bc3
fixes #865 (#869) 2019-03-05 16:25:34 -05:00
siddhant1 ef39b07205 Removed Moment' 2019-03-05 19:36:01 +05:30
siddhant1 b6e2c4c983 Migrated from momentjs to date-fns 2019-03-02 15:05:40 +05:30
Cassie Tarakajian 74ec1ba5bf
fixes #725 by updating jshint (#848) 2019-02-25 16:52:07 -05:00
sepans 89094bf09c Temporarily remove jest from CI 2019-01-25 17:28:59 -05:00
sepans e13f8a7007 Adds test:ci for travis ci to run lint and jest 2019-01-25 17:26:56 -05:00
Sepand Ansari 189cc586c6 Add jest snapshot testing to Nav.jsx 2019-01-25 17:26:56 -05:00
Sepand Ansari e1ef323e9b Add jest/enzyme and a simple unit test 2019-01-25 17:21:10 -05:00
Cassie Tarakajian 2a253f50ac update engine versions in package.json 2019-01-24 17:33:42 -05:00
Francis Li 14955e455a Merge branch 'master' into heroku-deployment 2019-01-19 15:11:07 -08:00
Cassie Tarakajian 7bd016bac3
fixes #785, update node, and everything else that comes along with that (#810) 2019-01-16 17:56:18 -05:00
Gaurang Tandon 86e271e6c2
update non-breaking dependencies 2018-12-15 10:22:26 +05:30
Francis Li 1edbb52f4d Rebase/squash 2018-12-09 15:34:15 -08:00
Basile Pesin 4096a1c0ee Corrected the logo problem by adding it to the static files (#708) 2018-10-02 21:03:33 -04:00
Cassie Tarakajian 8495a59e36
Development documentation (#705)
* delete unused files, move webpack configs to their own directory

* start of improved developer documentation, moving everything to developer_docs/ directory

* documentation updates
2018-09-26 16:14:06 -04:00
Cassie Tarakajian 0f0be1f956 fix file uploads by updating mongoose 2018-08-30 21:00:29 -04:00
Cassie Tarakajian bd476d3d38 add basic auth to server for beta editor setup 2018-08-21 16:09:41 -04:00
Cassie Tarakajian aa543fad4a merge in master 2018-08-20 12:20:41 -04:00
Cassie Tarakajian 549d622c6f more config for kubernetes, fix example fetching tasks to include node env 2018-08-09 13:58:48 -04:00
Liang Tang 617f00653c Improve current console (#656)
* init v2

* make replay work

* fix a failing scenary of react-frame

* fix some bugs

* delete/comment some files

* remove

* fix some bugs && remove more comments

* remove unnecessary lines

* minor tweak

* fix some bugs

* try to hook iframe using webpack

* update

* changes according to cassie

* minor tweak

* fix lint

* extract sass

* add icons

* update webpack config

* update webpack configuration

* update

* tweak

* fix a small bug
2018-07-30 12:20:57 -04:00
Cassie Tarakajian 25aa5c77f1 remove --progress from webpack build to see if it prints error 2018-06-19 19:46:34 -07:00
Cassie Tarakajian b172087b98 get local-ssl-proxy working for testing prod locally 2018-06-18 14:32:09 -07:00
Cassie Tarakajian a14c232935 fix fetch example scripts, add webpack config to build fetch script bundles 2018-06-18 14:32:09 -07:00
Cassie Tarakajian 131e853503 change Dockerfile to fix environment variables and fetching examples 2018-06-18 14:32:09 -07:00
Cassie Tarakajian 41f793b130 remove unused index.html, move example fetch to own folder 2018-06-18 14:30:10 -07:00
Cassie Tarakajian 9958619fc4 fixes #630 and updates codemirror 2018-05-30 15:23:32 -07:00
Cassie Tarakajian 56ab483732 fixes #635 2018-05-15 12:10:24 -07:00
Cassie Tarakajian 7c542beeaf try updating node-sass to see if this fixes the Ci build 2018-05-08 19:43:34 -07:00
Cassie Tarakajian 90c76c1d08 fix linting errors 2018-05-08 19:16:04 -07:00
Cassie Tarakajian c90dac55b7 update eslint and fix linting errors 2018-05-08 19:16:04 -07:00
Cassie Tarakajian 254bbacba2 update babel packages 2018-05-08 19:16:04 -07:00
Cassie Tarakajian 257ee24b90 add clean, build, build:client, and build:server tasks 2018-05-08 19:16:03 -07:00
Cassie Tarakajian 2d87f09f24 update script to create server bundle 2018-05-08 19:16:03 -07:00
Cassie Tarakajian 6afa760d36 get hot loading working again 2018-05-08 19:16:03 -07:00
Liang Tang 9423cb01f2 polish package.json (#624) 2018-05-08 13:36:06 -07:00
Madhurjya Pegu 307091ad3c Solving #553 Addition of google oauth 2.0 for easy login (#608)
* google oauth added

* google credentials 

updated .env description for google oauth

* changes done wrt review
2018-04-18 13:38:02 -07:00
Dhruvdutt Jadhav 05e567259c chore: update loop-protect module dependency syntax (#575) 2018-02-27 12:12:06 -05:00
Luis Morales-Navarro 24b0be629f Accessibility - Transition from interceptor to accessibility library (#508)
* added library to iframe

* changed preview to add accessible elements to iframe

* add library only when accesible output is seleceted

* focus on iframe when plaing

* css

* deleted accessibleOutput.jsx and edited IDEView to integrate accessibility library

* deleted comments

* Remove gitmodule (#509)


* remove git modules

* removed submodule and replaced interceptor for library (#510)

* Fixes #508 (#539)

* removed submodule and replaced interceptor for library

* deleted comments

* deleted jquery

* deleted interceptor folder

* delete interceptor

* added jquery

* removed jquery and updated accessible library cdn

* Fixes #508  (#545)

* removed submodule and replaced interceptor for library

* deleted comments

* deleted jquery

* deleted interceptor folder

* delete interceptor

* added jquery

* removed jquery and updated accessible library cdn

* remove empty divs from files.js

* fix merge error

* remove empty divs from files.js

* Fixes #508 (#548)

* removed submodule and replaced interceptor for library

* deleted comments

* deleted jquery

* deleted interceptor folder

* delete interceptor

* added jquery

* removed jquery and updated accessible library cdn

* remove empty divs from files.js

* fix merge error

* remove empty divs from files.js

* moved accessible output css
2018-02-22 16:47:25 -05:00
Joey Lee 6faf52f61e Added script to download and save all generative-design project examples to p5-web-editor (#526)
* replaced () with {} to fix implicit return error

* added first version of fetching generative-design examples

* ignore local testing files

* formatting

* updated examples-gg-latest

* updated examples-gg-latest.js

- data files not served via rawgit - hallelujah!
- added jquery

* updated p5 version

* refactoring and code cleanup

* added comment

* comment out link to svgFiles - unused

* moved commented code

* fixed conflicts

* linted examples-gg-latest
2018-02-08 16:02:35 -05:00
Cassie Tarakajian 3307613aec
adds slugify feature for #522 (#523) 2018-02-07 16:00:09 -05:00
Dhruvdutt Jadhav e7abb55ee7 Fixes #515 Update React to 16 and other dependencies (#519)
* Update to react, react-dom 16.2.0

* Update react-redux

* Update react-tabs

* Update redux-devtools

* Update redux-devtools-dock-monitor

* Update redux-devtools-log-monitor

* Add prop-types package

* Update gitignore

* Update all files to use prop-types package

* Update react-router

* Update react-inlinesvg
2018-02-07 13:06:07 -05:00
Mr.tang 798e748d8f Fixes #513 add cross-env to set environment variables across platform (#514)
* Fixes #513 add cross-env to set environment variables across platform

* fix different line endings across platforms

* manually install loop-protect

* fix some err space

* update loop-protect version

* restore loop-protect
2018-02-06 11:53:15 -05:00
saumya1906 ad802ebeec Issue 266: Added react-tabs to package.json 2017-11-06 17:41:56 -05:00
Cassie Tarakajian 20f789033f update version of babel-core to latest 2017-11-06 17:22:40 -05:00
Cassie Tarakajian 22cd8920a1 update docker setup to use node 8.9.0, update npm packages to make docker work 2017-11-06 16:19:43 -05:00
Cassie Tarakajian d48d9349a8 start to restyle share modal 2017-10-30 17:25:05 -04:00
Cassie Tarakajian 593cf3abfa add travis ci integration 2017-10-15 20:36:19 -07:00
Zach Rispoli e987e8f483 Bundle libraries when project is downloaded as zip (New approach) (#376)
* External libraries are bundled with zip when project is downloaded (#44)

* Fix linting errors

* Add a check for valid URLs before trying to bundle a library into project

* Add is-url lib to package.json
2017-07-19 19:56:52 +02:00
Cassie Tarakajian a04e1b0bc4 update version of pretty-bytes to one that works with webpack 2017-07-11 12:08:57 -04:00
Cassie Tarakajian e140702784 Create Asset List View and refactor overlay code (#356)
* start to create asset list

* begin refactoring overlay component to remove duplicate code

* refactoring of overlays, asset list styles

* changes to add size to asset list

* fixes to asset list

* handle case in which a user hasn't uploaded any assets

* fix bug in which asset list only grabbed first asset

* remove console.log

* update overlay exit styling to use icon mixin
2017-07-11 17:37:43 +02:00
Cassie Tarakajian 607a27a4a1 remove jsonwebtoken as a dependency 2017-06-26 15:07:51 -04:00
Andrew Nicolaou 6cbc376d6e CSRF/XSS protection (#374)
* /api endpoints only allows requests with application/json Content-Type

Otherwise sends 406 Unacceptable

* Uses CSRF token

The CSRF token is sent as the cookie 'XSRF-TOKEN' on all HTML page
requests. This token is  picked up automatically by axios
and sent to the API with all requests as an 'X-XSRF-TOKEN' header.
The middleware runs on all routes and verifies that the token matches
what's stored in the session.
2017-06-26 13:58:58 -04:00
Andrew Nicolaou 1dc0c22cb7 Email verification (#369)
* Re-introduce Email Verification code

Revert "Revert "Email verification""
This reverts commit d154d8bff259350523a0f139e844db96c43d2ee1.

* Uses MJML to generate Reset Password email

* Sends Password Reset and Email Confirmation emails using MJML template

* Sends verified status along with user data

* API endpoint for resending email verification confirmation

* Displays verification status on Account page and allows resending

* Send back error string

* Passes email address through to sign/verify helper

* Uses enum-style object to set verified state

* Sends minimal info when user verifies since it can be done without login

* Provides /verify UI and sends confirmation token to API

* Better name for JWT secret token env var

* Adds mail config variables to Readme

* Encrypts email address in JWT

The JWT sent as the token in the Confirm Password URL
can be unencoded by anyone, although it's signature can only
be verified by us. To ensure that no passwords are leaked,
we encrypt the email address before creating the token.

* Removes unused mail templates

* Resets verified flag when email is changed and sends another email

* Moves email confirmation functions next to each other

* Extracts random token generator to helper

* Moves email confirmation actions into Redux

- updates the AccountForm label with a message to check inbox
- show status when verifying email token

* Uses generated token stored in DB for email confirmation

* Sets email confirmation status to verified if logging in from Github

* Sends email using new method on account creation

* Fixes linting errors

* Removes replyTo config
2017-06-26 12:48:28 -04:00
Zach Rispoli 3f32ccc89c Remove comments before using loopProtect on scripts (fixes #218) (#364) 2017-06-05 22:46:19 -04:00
Zach Rispoli c596b74b27 Sketch name is used as <title> (issue #108) (#363)
* Sketch name is used as <title> (#108)

* add newline to end of file
2017-06-05 22:37:41 -04:00
Andrew Nicolaou a267837fb7 Persists Redux store to/from sessionStorage (#334)
* Persists Redux store when reloading app for login

* Disable confirmation box when leaving page for login

* Removes extra console.warn

* Sets serveSecure: true for new projects if served over HTTPS

* Clears persisted state on IDEView load

Because when a sketch is created on HTTPS and then the user logs in
the page won't be reloaded

* Appends ?source=<protocol> to URL to track return protocol
2017-04-20 14:05:15 -04:00
Cassie Tarakajian f01a58353b initial commit to cloning files on S3, untested 2017-04-05 23:23:37 -04:00
Andrew Nicolaou a1121e2e6b Enable CORS for all origins and requests on API (#324)
* Enable CORS for all origins and requests on API

* Whitelist CORS origins: *.p5js.org in production and also localhost in development
2017-03-23 14:53:16 -04:00
Cassie Tarakajian abbeb7fc60 fi linting to include .jsx files 2017-03-02 15:18:58 -05:00
Cassie Tarakajian e87390adb9 update eslint to latest version, fix lots of linting errors (#308)
* update eslint and dependencies, fix linting errors that can be fixed with --fix

* fix lots of linting errors

* update eslintrc, fix some linting errors

* fix all server side linting errors, untested

* fix errors that fixing linting errors had caused

* fix client side eslint errors

* fix client side linting errors

* fix refs lint errors

* fix more linting errors

* update eslint and dependencies, fix linting errors that can be fixed with --fix

* fix lots of linting errors

* update eslintrc, fix some linting errors

* fix all server side linting errors, untested

* fix errors that fixing linting errors had caused

* fix client side eslint errors

* fix client side linting errors

* fix refs lint errors

* fix more linting errors

* fix some accessibility linting errors

* fix a lot of linting errors

* fix a billion more linting errors

* hopefully fix all linting errors, still need to test

* fix bugs that fixing linting had caused
2017-02-22 14:29:35 -05:00
Cassie Tarakajian 36a715fc3a fix #287 2017-02-01 22:00:19 -05:00
Cassie Tarakajian 311e8442a1 Revert "Email verification" (#265) 2017-01-13 10:35:39 -05:00
Akarshit Wal 2d781e22fb Email verification (#230)
* Making the email separate for future enhancements

* email-verification added

* Github users are verified

* update package

* Bug fixes and improvements

* jade to pug

* Bug fix

* changed route
2017-01-13 10:24:09 -05:00
Cassie Tarakajian 1d6e59ada3 add lint-fix task, fix linting errors in fetching examples code 2017-01-11 15:17:10 -05:00
Cassie Tarakajian fba1d06685 update webpack to latest version 2016-12-07 14:47:12 -05:00
Yining Shi 29de5fce55 Fetch examples from p5 website repo (#203)
* changed open to examples, created basic fetch-examples.js

* use dotenv babel-register polyfill

* save examples in order

* added assets

* use rawgit.com

* async process.exit

* sound:Convolution Reverb
2016-12-01 18:57:50 -05:00
Cassie Tarakajian b4fabd4aaa optimization for webpack vendor files 2016-11-30 13:37:07 -05:00
Mathura MG bd88e86ecc Move the interceptor code to a git module (#200)
* add p5 interceptor submodule

* update package

* remoce interceptor

* update interceptor;

* merge scripts

* change postinstall script
2016-11-23 13:35:12 -05:00
Jen Kagan 449e103fc6 Generate a two-word project name (#184)
* add name generator lib

* update reducers

* make initialState a function

* update initialState function
2016-11-16 16:29:17 -05:00
Cassie Tarakajian 04922522cc cool to share some of this code between client and server
Squashed commit of the following:

commit fb5e82cea930b011792983c7d1cc9f6ecacc7dd4
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Wed Nov 16 12:28:10 2016 -0500

    add server side rendering, untested

commit 5c60fb30c46ea49a8d9a0ecb56f39ec778464a8b
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Tue Nov 15 18:26:06 2016 -0500

    add redux-form bandage post react update, should probably update to redux-form 6 at some point

commit 057b5871e7137179abc93f7821a9690f0ea52c92
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Tue Nov 15 16:30:09 2016 -0500

    remove passing jsFiles and cssFiles to PreviewFrame, fix rendering bug

commit 88c56fd36d3a8d88902c79642171988ce37825f2
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Tue Nov 15 16:21:59 2016 -0500

    code cleanup, untested

commit 82e5dcf8bca461892f1daf06d38f1eaebe72983f
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Tue Nov 15 15:53:50 2016 -0500

    update react and react router, fix a few bugs in rendering code, add ability to parse inline js and css

commit e02f4b67803ea45328eff4e53659222f3149964c
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Tue Nov 15 14:43:38 2016 -0500

    add almost full code to create preview html correctly, untested

commit 12f61b2a1aed4607fab24d01572b647ca6210262
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Wed Nov 2 17:09:26 2016 -0400

    refactor some of the preview html generation code

commit 111825846703d5c8959cb18795a3aadb7ebe505c
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Wed Nov 2 11:06:36 2016 -0400

    add comments as plan of action

commit 1cc2cf5203674732b4057382f1937de38b687078
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Thu Oct 27 19:34:55 2016 -0400

    add href parsing

commit e67189298cda9b70645f454ecd541a363980f0e4
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Thu Oct 27 10:48:36 2016 -0400

    continue parsing html

commit 1458fb940a15a3dc5d74890211a3073e920b84b8
Author: Cassie Tarakajian <ctarakajian@gmail.com>
Date:   Wed Oct 26 17:40:31 2016 -0400

    start to add html parsing
2016-11-16 13:12:36 -05:00
Cassie Tarakajian f40ecebfba #142 add webpack configuration to decrease loading speed 2016-11-08 18:11:12 -05:00
Cassie Tarakajian 64b4fd41d1 #174 increase loopprotect time to 500ms 2016-11-02 15:00:26 -04:00
Cassie Tarakajian 85b8f5b589 fixes #96, downloads now work on safari and firefox 2016-11-02 14:08:53 -04:00
Cassie Tarakajian 8c270c2ced generate blob urls for text and json files 2016-10-22 16:42:43 -04:00
Cassie Tarakajian 280d3e69ea fix keyboard shortcuts on safari 2016-10-19 18:35:59 -04:00
Cassie Tarakajian 32d45ea332 remove all blobutil stuff 2016-10-19 15:33:14 -04:00
Cassie Tarakajian 0ccfeb6b9c fix debounce on safari 2016-10-19 13:29:02 -04:00
Cassie Tarakajian d055aa5af8 more password reset things 2016-10-19 12:36:58 -04:00
Cassie Tarakajian 1610b0168d start to add mailgun and nodemailer 2016-10-19 12:36:57 -04:00
Cassie Tarakajian 0b76151c67 add progress to production webpack 2016-10-18 12:33:39 -04:00
Yining Shi 43052cb675 detect infinite loop
detect infinite loop

detect infinite loop
2016-09-17 00:11:33 -04:00
catarak 506c959f8c map shift+tab to beautifier, only for js 2016-09-07 12:16:26 -04:00
catarak 1d86d766d9 add login error for invalid username or password 2016-09-02 17:31:07 -04:00
catarak 93d6d8777f add resizers 2016-08-11 15:41:13 -04:00
catarak 8faabe3f56 remove es6 promise polyfill since it's already included in babel polyfill 2016-07-22 17:24:19 -04:00
catarak 99106e2bb8 change dev/production babel configuration 2016-07-22 13:14:26 -04:00
catarak 4c5fafe251 add promise polyfill 2016-07-22 12:42:38 -04:00
catarak 979fcf2152 add support for audio files 2016-07-21 14:18:38 -04:00