canvas-lms/client_apps/canvas_quizzes
Ryan Shaw fc02d78824 get stuff ready to use lodash instead of underscore
closes: CORE-3178

right now, we send 2 copies of underscore/lodash to browsers. that is
wasteful and slow because it causes browsers to download and execute
more JS than they need to. we should use the most recent version of
lodash for everything and have everything just share that one.

Using the old version of lodash.underscore is also preventing us from
upgrading backbone to the latest version (because backbone relies on
using a newer lodash/underscore). and we want to upgrade backbone to
the latest version so we can use the
`https://backbonejs.org/#Model-preinitialize` method which was
specifically made to help people upgrade things to es6 classes and
avoid the "trick babel to allow `this` before `super` hacks" that we
have in our code & need to get rid of before we can drop ie11

but to make upgrading to lodash 4 easier, I made this commit which
avoids using it in a lot of places (so upgrading is a non-issue) and
uses the method alias names that are both present in the old underscore
we use and lodash 4.

some of this was done by:
https://github.com/cpojer/js-codemod#underscore-to-lodash-native

see https://github.com/lodash/lodash/wiki/Migrating for what is
different between underscore and lodash

test plan:
* automated tests should pass

Change-Id: Ieefc0be36d277fc115974aa06c03e46a37b9f426
Reviewed-on: https://gerrit.instructure.com/200550
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-07-15 18:44:15 +00:00
..
apps get stuff ready to use lodash instead of underscore 2019-07-15 18:44:15 +00:00
config/requirejs Remove broken symlink 2018-02-16 17:12:08 +00:00
doc Remove add-module-exports babel plugin & use esModules 2019-05-03 22:49:58 +00:00
script get jquery and jquery.cookie from npm, not vendor 2017-05-08 20:47:23 +00:00
tasks Comment out failing test for canvas_quizzes package 2019-04-09 22:35:58 +00:00
vendor Remove broken symlink 2018-02-16 17:12:08 +00:00
www Remove broken symlink 2018-02-16 17:12:08 +00:00
.gitignore QLA - Table view / answer matrix 2014-12-19 22:11:56 +00:00
.jshintignore UI for quiz submission logs 2014-12-15 19:51:52 +00:00
.stylishcolors UI for quiz submission logs 2014-12-15 19:51:52 +00:00
Gruntfile.js da licença part 52 2017-05-01 21:08:35 +00:00
README.md UI for quiz submission logs 2014-12-15 19:51:52 +00:00
package.json Make client_apps not fail test suite 2019-05-06 13:44:19 +00:00

README.md

canvas-quizzes

A collection of quiz mini-apps for Canvas, the LMS by Instructure.

See the development guide to get started.

Dependencies

  1. React
  2. lodash / underscore
  3. RSVP
  4. d3

Running tests

Each app has its own suite. You can run all suites using grunt test. If you want to run the suite for a single app, write down its name. For example: grunt test:events.

If you want to filter specs that are run within a suite, use --filter="test_file_name.js". See grunt-contrib-jasmine for a complete reference.

License

Released under the AGPLv3 license, like Canvas.