canvas-lms/package.json

363 lines
14 KiB
JSON
Raw Normal View History

AMD Conversion "Trivial" JavaScript / CoffeeScript changes -------------------------------------------------- For the most part, all javascript was simply wrapped in `require` or `define`. The dependencies were found with a script that matched regexes in the files, it errs on the side of listing too many dependencies, so its worth double checking each file's dependencies (over time, anyway). i18n API changes -------------------------------------------------- No longer have to do I18n.scoped calls, just list i18n as a dependency with the scope and it's imported already scoped require ['i18n!some_scope'], (I18n) -> I18n.t 'im_scoped', 'I'm scoped!' JS bundling now done with r.js, not Jammit -------------------------------------------------- We don't use jammit to bundle JS anymore. Simply list dependencies for your JS modules in the file and RequireJS handles the rest. To optimize the JavaScript, first make sure you have node.js 0.4.12+ installed and then run: $ rake js:build The app defaults to the optimized build in production. You can use non-optimized in production by putting ?debug_assets=true in the url just like before. You can also test the optimized JavaScript in development with ?optimized_js=true. Significant changes -------------------------------------------------- These files have "real" changes to them (unlike the JavaScript that is simply wrapped in require and define). Worth taking a really close look at: - app/helpers/application_helper.rb - app/views/layouts/application.html.erb - config/assets.yml - config/build.js - lib/handlebars/handlebars.rb - lib/i18n_extraction/js_extractor.rb - lib/tasks/canvas.rake - lib/tasks/i18n.rake - lib/tasks/js.rake Change-Id: I4bc5ecb1231f331aaded0fef2bcc1f3a9fe482a7 Reviewed-on: https://gerrit.instructure.com/6986 Tested-by: Hudson <hudson@instructure.com> Reviewed-by: Ryan Florence <ryanf@instructure.com>
2011-11-11 00:31:45 +08:00
{
"name": "canvas-lms",
"license": "AGPL-3.0",
AMD Conversion "Trivial" JavaScript / CoffeeScript changes -------------------------------------------------- For the most part, all javascript was simply wrapped in `require` or `define`. The dependencies were found with a script that matched regexes in the files, it errs on the side of listing too many dependencies, so its worth double checking each file's dependencies (over time, anyway). i18n API changes -------------------------------------------------- No longer have to do I18n.scoped calls, just list i18n as a dependency with the scope and it's imported already scoped require ['i18n!some_scope'], (I18n) -> I18n.t 'im_scoped', 'I'm scoped!' JS bundling now done with r.js, not Jammit -------------------------------------------------- We don't use jammit to bundle JS anymore. Simply list dependencies for your JS modules in the file and RequireJS handles the rest. To optimize the JavaScript, first make sure you have node.js 0.4.12+ installed and then run: $ rake js:build The app defaults to the optimized build in production. You can use non-optimized in production by putting ?debug_assets=true in the url just like before. You can also test the optimized JavaScript in development with ?optimized_js=true. Significant changes -------------------------------------------------- These files have "real" changes to them (unlike the JavaScript that is simply wrapped in require and define). Worth taking a really close look at: - app/helpers/application_helper.rb - app/views/layouts/application.html.erb - config/assets.yml - config/build.js - lib/handlebars/handlebars.rb - lib/i18n_extraction/js_extractor.rb - lib/tasks/canvas.rake - lib/tasks/i18n.rake - lib/tasks/js.rake Change-Id: I4bc5ecb1231f331aaded0fef2bcc1f3a9fe482a7 Reviewed-on: https://gerrit.instructure.com/6986 Tested-by: Hudson <hudson@instructure.com> Reviewed-by: Ryan Florence <ryanf@instructure.com>
2011-11-11 00:31:45 +08:00
"version": "0.0.0",
"engines": {
"node": ">=14.0.0",
"yarn": "^1.19.1"
},
"private": true,
"workspaces": {
"packages": [
"gems/canvas_i18nliner",
"gems/plugins/*",
"ui/shared/*",
modernize canvas_quizzes fixes FOO-1409 flag = none no more client_apps, canvas_quizzes now lives as part of canvas-lms proper inside app/jsx/, which makes the build leaner and leaves us with one less thing to reason about logical changes: - converted from AMD to ES modules - upgraded to recent react + react-router - dropped RSVP in favor of native Promises - used CanvasModal instead of home-grown Dialog - removed dead code; notifications in particular were fishy as there had no dependents at all and did not even show up in the graph - ported tests to Jest, added more unit ones and two integration ones - removed "config.onError" and now throws errors where appropriate - disabled console statements in non-dev :: test plan :: - create a (old-school) quiz containing all types of questions - as 3 distinct students, take the quiz and try to randomize your answers at this point it's helpful to have a reference to compare the screens; I replicated the quiz on my production sandbox for this - go to /courses/:id/quizzes/:id/submissions/:id/log - verify it looks OK - click on a specific question in the stream and verify the question inspector widget works OK - go back to stream and push "View table" - verify the table and its controls are OK - go to /courses/:id/quizzes/:id/statistics - verify it looks OK - click on ? in the discrimination index chart and verify it displays a dialog with help content - click on "X respondents" in one of the charts and verify it displays a dialog with the respondent names - verify the interactive charts do interact as expected (no logic changed here so just a quick glance) - link to "View in SpeedGrader" for essay-like questions works Change-Id: I79af5ff4f1479503b5e2528b613255dde5bc45d3 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256118 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Simon Williams <simon@instructure.com> QA-Review: Simon Williams <simon@instructure.com> Product-Review: Simon Williams <simon@instructure.com>
2021-01-02 07:58:12 +08:00
"packages/*"
],
"nohoist": [
"**/tinymce",
"**/tinymce/**"
]
},
"dependencies": {
"@instructure/canvas-rce-old": "4.1.5",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/canvas-theme": "6",
"@instructure/debounce": "6",
"@instructure/js-utils": ">=1",
Update instui and media-capture versions, reprise instui -> 6.24.0 @instructure/media-capture -> 7.1.0 the update to @instructure/media-capture is necessary to fix the audio recording bug described in LA-859. This change required a bump to INSTUI's version. Both updates are rolled into this change. closes LA-595 flag=none test plan: For the audio recording part: prereq: have notorious running. you must be loading canvas from localhost unless using https in order to enable the mic and webcam. - create or edit something with the rce - select Media > Upload/Record media - change to the Record tab - click on the "WebCam" button and select "No video" - record some audio and save > expect the audio to be uploaded and appear in the RCE - go to the speedgrader for a graded object - click on the Media Comment button - click on the "WebCam" button and select "No video" - record some audio and save > expec the audio comment to be uploaded and playable For the instui upgrade part: - make sure everything still works as expected - check with instui changelog for changes since 6.21 for guidance This commit reverts commit 7ede7985492e9630b8eb6b411a7b1217816cbe08, which reverted 81d493b7223c06d6c2c6681c8570fd4e136b85e9 which was prematurely merged. Reason for revert: get the oritinal patchset back in the queue, but hold off merging until after beta is cut from master. This will give the INSTUI change a chance to soak in dev for longer than the weekend before being deployed Change-Id: Iada67ee10a796e4b4b967b27a64f3e527e78249a Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233037 Reviewed-by: Charley Kline <ckline@instructure.com> Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> QA-Review: Anju Reddy <areddy@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-04-17 22:13:46 +08:00
"@instructure/media-capture": "~7.1.0",
"@instructure/outcomes-ui": "^1.1.6",
"@instructure/react-crop": "^5.0.1",
"@instructure/reactour": "https://github.com/instructure/reactour#b908434fe544703e26bc67c67c4111252c401f92",
Enable outcome alignment on Canvas pages closes OUT-3401 flag = none test plan: - check out/update canvas plugins needed for sharding: * multiple_root_accounts * demo_site * canvas_geoip - check out/update canvas plugin needed for provisioning: * uuid_provisioner - check out/update quiz repo: * quiz_api - check out/update outcomes service: * outcomes-service - add the following to the postgres container section of your docker-compose.override.yml in canvas: === ports: - "5432:5432" environment: VIRTUAL_HOST: db.canvas.docker === - update canvas configuration by adding example dynamic_settings to existing config/dynamic_settings.yml and by copying example uuid_provisioner.yml - in canvas rails console, enable the auto provision setting: > Setting.set('auto_provision_outcomes_service', 'true') - start up canvas, outcomes-service and quiz_api - create a new root account from canvas siteadmin http://canvas.docker/accounts/site_admin/root_accounts: * account name: outcomes * account domain: outcomes.canvas.docker - after a few minutes, verify in the outcomes rails console that a new shard has been created and registered for the second account, but not the first > ap AccountRegistry.all - create a course with outcomes in outcomes.canvas.docker - in the outcomes api docker container, dump canvas data and sync into the provisioned outcomes shard: > bundle exec rake canvas:dump_canvas_data[outcomes.outcomes.docker] > bundle exec rake canvas:sync[outcomes.outcomes.docker,true] - enable the outcome alignment feature flag: - http://canvas.docker/accounts/site_admin/settings - Feature Options tab - Find "Outcome alignment to non-scoring content" feature flag - Switch to "ON" - return to course created in new canvas account - create a canvas page in the course - load the newly created canvas page - confirm that an outcome alignment widget appears, and that it opens a side tray with course outcomes when attempting to align Change-Id: Ide6891493ea3c926d155d4aea9bc7aff5bdaa6fb Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227463 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Michael Brewer-Davis <mbd@instructure.com> Reviewed-by: Pat Renner <prenner@instructure.com> QA-Review: Michael Brewer-Davis <mbd@instructure.com> Product-Review: Michael Brewer-Davis <mbd@instructure.com>
2020-02-21 07:38:23 +08:00
"@instructure/ready": ">=1",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-a11y": "6",
"@instructure/ui-alerts": "6",
"@instructure/ui-avatar": "6",
"@instructure/ui-badge": "6",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-billboard": "6",
"@instructure/ui-breadcrumb": "6",
"@instructure/ui-buttons": "6",
"@instructure/ui-byline": "6",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-calendar": "6",
"@instructure/ui-checkbox": "6",
"@instructure/ui-date-input": "6",
"@instructure/ui-decorator": "6",
"@instructure/ui-editable": "6",
"@instructure/ui-elements": "6",
"@instructure/ui-file-drop": "6",
"@instructure/ui-flex": "6",
"@instructure/ui-focusable": "6",
"@instructure/ui-form-field": "6",
"@instructure/ui-forms": "6",
"@instructure/ui-grid": "6",
"@instructure/ui-heading": "6",
"@instructure/ui-i18n": "6",
"@instructure/ui-icons": "7",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-img": "6",
"@instructure/ui-layout": "6",
"@instructure/ui-link": "6",
"@instructure/ui-list": "6",
Add Auto Show Closed Captions user feature closes MAT-40 flag=auto_show_cc Requested by the Columbus Public Schools (my homies), create a setting so videos automatically show CCs when playing videos. test plan: - create RCE content and include a video - add a couple CC files in different languages, including the user's language (the .srt files don't have to be in another language, just tell canvas they are) - save > expect no CC without selecting them from the CC menu in the media player - click on the user's avatar to open the user's tray and choose Settings - enable the "Automaticaly show media captions" feature - refresh to the page with RCE content > expect the CCs in the user's language to automatically show - change the user's language to another one you have CCs for - refresh the page with the video > expect the new language's CCs - change the user's language to something not in the CC list and not English - refresh the video page > no CCs and nothing bad happens. note: I wanted to test with with various combinations of en, en-US, and en-GB but canvas won't let you add CCs in regional locales. I don't know why, but that's a problem for another day. Change-Id: I355fd12c5ea42fe5bc8e776a0c602c2857aaf4c6 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262500 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Nate Armstrong <narmstrong@instructure.com> QA-Review: Nate Armstrong <narmstrong@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2021-04-09 00:47:15 +08:00
"@instructure/ui-media-player": "^7.2",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-menu": "6",
"@instructure/ui-metric": "6",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-modal": "6",
"@instructure/ui-motion": "6",
"@instructure/ui-number-input": "6",
"@instructure/ui-overlays": "6",
"@instructure/ui-pagination": "6",
"@instructure/ui-pill": "6",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-portal": "6",
"@instructure/ui-progress": "6",
"@instructure/ui-radio-input": "6",
"@instructure/ui-rating": "6",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-react-utils": "6",
"@instructure/ui-responsive": "6",
"@instructure/ui-select": "6",
"@instructure/ui-simple-select": "7",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-spinner": "6",
"@instructure/ui-svg-images": "6",
"@instructure/ui-table": "6",
"@instructure/ui-tabs": "6",
"@instructure/ui-tag": "6",
"@instructure/ui-text": "6",
"@instructure/ui-text-area": "6",
"@instructure/ui-text-input": "6",
"@instructure/ui-themeable": "6",
"@instructure/ui-themes": "6",
"@instructure/ui-time-select": "6",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-toggle-details": "6",
"@instructure/ui-tree-browser": "6",
"@instructure/ui-view": "6",
"@instructure/uid": "6",
"@microsoft/immersive-reader-sdk": "^1.1.0",
"apollo-cache": "^1.3.2",
"apollo-cache-inmemory": "^1.3.10",
"apollo-client": "^2.6.4",
"apollo-link": "^1.2.3",
"apollo-link-error": "^1.1.1",
"apollo-link-http": "^1.5.5",
"apollo-link-state": "^0.4.2",
"apollo-utilities": "^1.3.2",
"axios": "^0.21.1",
"axios-cache-adapter": "^2.7.0",
"backbone": "1.1.1",
"big.js": "^5.0.3",
"brandable_css": "0.1.0",
"canvas_offline_course_viewer": "https://github.com/instructure/canvas_offline_course_viewer.git#1.2.0",
"classnames": "^2.2.5",
"color-slicer": "0.8.0",
2020-02-08 02:22:56 +08:00
"confetti-js": "^0.0.17",
"create-react-class": "^15.6.3",
"d3": "3.5.17",
"final-form": "^4.20.2",
"formdata-polyfill": "^3.0.9",
"fullcalendar": "https://github.com/instructure/fullcalendar.git#1108dd1c991a029ec6fd7de3337737ec5295ba97",
"graphiql": "^0.14.2",
"graphiql-explorer": "^0.4.2",
"graphql": "^14",
"graphql-tag": "^2.8.0",
"i18n-js": "^3",
"ic-ajax": "~2.0.1",
"ic-tabs": "0.1.3",
"immer": "^3",
"immutability-helper": "^3",
Configurable proficiency ratings page closes OUT-1856, OUT-1858, OUT-2239, OUT-2148 This adds configurable proficiency ratings on the account rubrics page. Persisting these changes will occur in a future patchset (2252). Validating order will be in a separate patchset (2240). test plan: - with the "non-scoring rubrics" feature flag off, the account rubrics page should appear without the proficiency ratings tab - with the "non-scoring rubrics" feature flag on, the accounts rubrics page should appear with the proficiency tab, if visiting with an account with "manage_outcomes" permission (e.g. account admin) - create an account role that has "Create and edit assessing rubrics" permission enabled but "Manage learning outcomes" disabled by going to the account page, click on the "Permissions" link in the left menu, then select the "Account Roles" tab to then be able create the role and enable the permission above. - create an account user by going to the account page and then click on the "People" link in the left menu to then be able to click on "+ New User". you'll use the email address entered in the next step. - make that user an account admin by going to the account page, click on the "Settings" link in the left menu, then select the "Admins" tab, then click on "+ Account Admins". select the new role from the drop down menu and enter the email address you used in the preivous step - confirm with the feature flag enabled, that visiting the account rubrics page does not appear with the proficiency tab, if visiting with an account without "manage_outcomes" permission (e.g. masquerade as the user created above) - on the proficiency tab, test error handling: * description is required * points is required, should be a valid number * when saving changes, all fields with errors should be labelled with an error text, with the first field receiving focus Change-Id: Ic52ef9fe9c58cfb215216b3a505ef1fb4b851c68 Reviewed-on: https://gerrit.instructure.com/150841 Reviewed-by: Michael Brewer-Davis <mbd@instructure.com> Reviewed-by: Frank Murphy <fmurphy@instructure.com> Tested-by: Jenkins QA-Review: Dariusz Dzien <ddzien@instructure.com> Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-04-10 09:20:00 +08:00
"immutable": "^3.8.2",
"is-valid-domain": "^0.0.11",
"jquery": "https://github.com/instructure/jquery.git#1.7.2-with-AMD-and-CommonJS",
"jquery-getscrollbarwidth": "^1.0.0",
"jquery-ui-touch-punch": "^0.2.3",
"jquery.cookie": "^1.4.1",
"jquery.elastic": "1.0.0",
"location-origin": "^1.1.4",
"lodash": "^4.16.4",
"md5": "^2.2.1",
"mediaelement": "https://github.com/instructure/mediaelement.git#master",
Pass correct locale to Planner Sometimes ENV.LOCALE and ENV.MOMENT_LOCALE are different (zh-Hans v zh-cn or mi v mi-nz). We were passing the former to planner, but moment needs the full locale, including language and region identifiers, and formatMessage copes with the full locale just fine, so we really need to pass in the latter or moment eventually blows up. So mi-nz month names would successfully parse, had to both bump our version of moment and tweak the canvas customized mi-nz locale data. to test, you'll have to run yarn to update moment, then build with RAILS_LOAD_ALL_LOCALES=1 yarn build Note on the changes to timezoneSpec.js: - some of the specs were parsing dates like "Mon, Aug 3", which are being interpreted in the current year, when Aut 3 is not a Monday. Resolved this by using MockDate to pretend today is 2/1/2015 - moment does not always interpret the Chinese characters for evening as implying PM. I'm assuming canvas will never need that particular construct and commented out the failing string. - there's one date-time that's getting the date totally wrong. - Fixed grammatically incorrect instances of '8月 3, 2015' to ''8月 3日, 2015' - fix cases where the year is coming after the month and day, which would never really happen fixes ADMIN-1331 test plan: - have a student in course so planner is enabled. - go to /profile/settings and Edit - change the Language to Reo Māori (Aotearoa) and "Update Settings" - go to the planner dashboard - click on + to create a new todo > expect you can create a todo. If you want, you can repeat with any of the languages listed in the ticket just to prove ^that wasn't a fluke. Change-Id: I9ba069ef61529088ab92271d7857998df6bbc409 Reviewed-on: https://gerrit.instructure.com/161206 Tested-by: Jenkins Reviewed-by: Ryan Shaw <ryan@instructure.com> Reviewed-by: Mysti Sadler <mysti@instructure.com> Reviewed-by: Jeremy Stanley <jeremy@instructure.com> QA-Review: Anju Reddy <areddy@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2018-08-18 03:21:04 +08:00
"moment": "^2.10.6",
"nanoid": "^3.1.10",
"newless": "^0.3.0",
"normalize-scroll-left": "^0.2",
"page": "^1.11",
"parse-decimal-number": "1.0.0",
"parse-link-header": "^1",
"prop-types": "^15",
"qs": "^6.6.0",
"react": "^16.9.0",
"react-apollo": "^3.0.1",
"react-dnd": "^2.5.2",
"react-dnd-html5-backend": "^2.5.2",
"react-dom": "^16.9.0",
"react-final-form": "^6.5.3",
"react-immutable-proptypes": "^2.1.0",
"react-lazy-load": "^3.0.13",
"react-modal": "^3",
"react-redux": "^5.1.1",
modernize canvas_quizzes fixes FOO-1409 flag = none no more client_apps, canvas_quizzes now lives as part of canvas-lms proper inside app/jsx/, which makes the build leaner and leaves us with one less thing to reason about logical changes: - converted from AMD to ES modules - upgraded to recent react + react-router - dropped RSVP in favor of native Promises - used CanvasModal instead of home-grown Dialog - removed dead code; notifications in particular were fishy as there had no dependents at all and did not even show up in the graph - ported tests to Jest, added more unit ones and two integration ones - removed "config.onError" and now throws errors where appropriate - disabled console statements in non-dev :: test plan :: - create a (old-school) quiz containing all types of questions - as 3 distinct students, take the quiz and try to randomize your answers at this point it's helpful to have a reference to compare the screens; I replicated the quiz on my production sandbox for this - go to /courses/:id/quizzes/:id/submissions/:id/log - verify it looks OK - click on a specific question in the stream and verify the question inspector widget works OK - go back to stream and push "View table" - verify the table and its controls are OK - go to /courses/:id/quizzes/:id/statistics - verify it looks OK - click on ? in the discrimination index chart and verify it displays a dialog with help content - click on "X respondents" in one of the charts and verify it displays a dialog with the respondent names - verify the interactive charts do interact as expected (no logic changed here so just a quick glance) - link to "View in SpeedGrader" for essay-like questions works Change-Id: I79af5ff4f1479503b5e2528b613255dde5bc45d3 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256118 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Simon Williams <simon@instructure.com> QA-Review: Simon Williams <simon@instructure.com> Product-Review: Simon Williams <simon@instructure.com>
2021-01-02 07:58:12 +08:00
"react-router-dom": "^5.2.0",
upgrade react-token-input so it supports react 16 closes: CORE-1885 Test plan: * make sure the token input that appears when you edit assignment due date Overrides on the assignment overrides page still works Like it did before. Here’s it’s original test plan: new due dates selection UI - on assignments, quizzes & discussions pages - with DA on and off - assign various due dates/(un)lock dates to source sections, individuals, and everybody - these should create overrides that properly take students/sections and dates - validations should work for all dates as normal and not let empty overrides get created (with no students or sections) - the names of overrides should properly update as students change - as more overrides get created, saving assignments should not slow down significantly - the student/section selector should be intuitive * the “new grading period set” form should work as it did before. Here’s it’s original test plan: A new button "+ Add Grading Period Set" is on the Grading Period Sets page. This allows a new set to be named and associated with as many terms as needed. To begin, visit the Grading page for an account (e.g. /accounts/1/grading_standards) and click "+ Set of Grading Period" and within this form ensure the following: 1. Given no name in the "Set name" field, when clicking the "Create" button a flash message is displayed and the set is not saved 2. Given no enrollment terms in the "Attach terms", when clicking the "Create" button a flash message is displayed and the set is not saved 3. Given a name and at least one attached enrollment term, when clicking the "Create" button an AJAX call successfully persists to the database and the new set is displayed on the page along with a successful flash message 4. When the form is open, the "+ Set of Grading Periods" button is disabled 5. When the form is in the process of creating a new set, the "Create" and "Cancel" button is disabled 6. Clicking close at any other time closes the form and re-enables the "+ Set of Grading Periods" button and all data in the form is cleared Change-Id: Ibb0290202b5dcf00ec42a4bb6d1c3d2e3d7a3b2b Reviewed-on: https://gerrit.instructure.com/164492 Reviewed-by: Clay Diffrient <cdiffrient@instructure.com> Tested-by: Jenkins Product-Review: Ryan Shaw <ryan@instructure.com> QA-Review: Ryan Shaw <ryan@instructure.com>
2018-09-14 23:20:08 +08:00
"react-tokeninput": "^2.5.0",
"react-transition-group": "^1",
"redux": "^4.0.1",
"redux-actions": "^2.6.4",
"redux-thunk": "^2.3.0",
"shallow-equal": "^1.2.0",
"spin.js": "2.3.2",
"swfobject": "^2.2.1",
"tablesorter": "^2.28.5",
"timezone": "https://registry.npmjs.org/@brentburgoyne/timezone/-/timezone-1.0.24.tgz",
"tinycolor2": "1.4.1",
"tinymce-a11y-checker": "^3.0.0",
"use-debounce": "^3",
"use-media-set": "^1.1",
Configurable proficiency ratings page closes OUT-1856, OUT-1858, OUT-2239, OUT-2148 This adds configurable proficiency ratings on the account rubrics page. Persisting these changes will occur in a future patchset (2252). Validating order will be in a separate patchset (2240). test plan: - with the "non-scoring rubrics" feature flag off, the account rubrics page should appear without the proficiency ratings tab - with the "non-scoring rubrics" feature flag on, the accounts rubrics page should appear with the proficiency tab, if visiting with an account with "manage_outcomes" permission (e.g. account admin) - create an account role that has "Create and edit assessing rubrics" permission enabled but "Manage learning outcomes" disabled by going to the account page, click on the "Permissions" link in the left menu, then select the "Account Roles" tab to then be able create the role and enable the permission above. - create an account user by going to the account page and then click on the "People" link in the left menu to then be able to click on "+ New User". you'll use the email address entered in the next step. - make that user an account admin by going to the account page, click on the "Settings" link in the left menu, then select the "Admins" tab, then click on "+ Account Admins". select the new role from the drop down menu and enter the email address you used in the preivous step - confirm with the feature flag enabled, that visiting the account rubrics page does not appear with the proficiency tab, if visiting with an account without "manage_outcomes" permission (e.g. masquerade as the user created above) - on the proficiency tab, test error handling: * description is required * points is required, should be a valid number * when saving changes, all fields with errors should be labelled with an error text, with the first field receiving focus Change-Id: Ic52ef9fe9c58cfb215216b3a505ef1fb4b851c68 Reviewed-on: https://gerrit.instructure.com/150841 Reviewed-by: Michael Brewer-Davis <mbd@instructure.com> Reviewed-by: Frank Murphy <fmurphy@instructure.com> Tested-by: Jenkins QA-Review: Dariusz Dzien <ddzien@instructure.com> Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-04-10 09:20:00 +08:00
"uuid": "^3.2.1"
},
AMD Conversion "Trivial" JavaScript / CoffeeScript changes -------------------------------------------------- For the most part, all javascript was simply wrapped in `require` or `define`. The dependencies were found with a script that matched regexes in the files, it errs on the side of listing too many dependencies, so its worth double checking each file's dependencies (over time, anyway). i18n API changes -------------------------------------------------- No longer have to do I18n.scoped calls, just list i18n as a dependency with the scope and it's imported already scoped require ['i18n!some_scope'], (I18n) -> I18n.t 'im_scoped', 'I'm scoped!' JS bundling now done with r.js, not Jammit -------------------------------------------------- We don't use jammit to bundle JS anymore. Simply list dependencies for your JS modules in the file and RequireJS handles the rest. To optimize the JavaScript, first make sure you have node.js 0.4.12+ installed and then run: $ rake js:build The app defaults to the optimized build in production. You can use non-optimized in production by putting ?debug_assets=true in the url just like before. You can also test the optimized JavaScript in development with ?optimized_js=true. Significant changes -------------------------------------------------- These files have "real" changes to them (unlike the JavaScript that is simply wrapped in require and define). Worth taking a really close look at: - app/helpers/application_helper.rb - app/views/layouts/application.html.erb - config/assets.yml - config/build.js - lib/handlebars/handlebars.rb - lib/i18n_extraction/js_extractor.rb - lib/tasks/canvas.rake - lib/tasks/i18n.rake - lib/tasks/js.rake Change-Id: I4bc5ecb1231f331aaded0fef2bcc1f3a9fe482a7 Reviewed-on: https://gerrit.instructure.com/6986 Tested-by: Hudson <hudson@instructure.com> Reviewed-by: Ryan Florence <ryanf@instructure.com>
2011-11-11 00:31:45 +08:00
"devDependencies": {
"@apollo/react-testing": "^3.0.1",
Upgrade to babel 7 & allow any js file to be themeable closes: CORE-2699 CORE-2700 UIDEV-99 This commit gets canvas-lms itself upgraded to babel 7. To do that we also had to upgrade jest to v24. We had already got canvas-rce and canvas-planner on jest24/babel7 but now this gets everything to babel 7. so you will see a lot of things removed from yarn.lock since we don’t don’t have to have different versions of everything for babel and jest The other major thing this does is make it so any JS file in canvas can become an @instructure/ui-themeable themeable component. This means you no longer should have to put your css in app/stylesheets for any new react components that you are writing. Test plan: 1. Make sure that the perf of `yarn build:js` is on-par with what it was before. We pass everything through the themeable babel transform now so there is a chance it is slower. If it is majorly slower, we’ll have to figure something out. 2. run a production weback build. The common (or any bundle for that matter should get output exactly the same as it did before) things to manually qa check: * in a NODE_ENV=production enviornment, go to /accounts/site_admin/developer_keys * click the "+ Developer Key" button, it should open the modal. (there are selenium tests that do this, but it was one thing that had to be fixed to get jenkins to pass) * on a course that is set up as a master course, click on the thing that opens the blueprint courses tray. * verify that when you click "Associations" and "Sync History" links in that tray, that they dynamically load the webpack chunk for the modal contents for that thing and then the modal is shown (again, there are selenium specs that test that exact thing but it is always good to manually test it too) Change-Id: I802584228962b54480a500f8fe422f45c2dcac4c Reviewed-on: https://gerrit.instructure.com/183965 Tested-by: Jenkins Reviewed-by: Clay Diffrient <cdiffrient@instructure.com> QA-Review: Ryan Shaw <ryan@instructure.com> Product-Review: Ryan Shaw <ryan@instructure.com>
2019-03-06 05:20:27 +08:00
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
"@babel/parser": "^7",
"@babel/plugin-proposal-optional-chaining": "^7",
Enable outcome alignment on Canvas pages closes OUT-3401 flag = none test plan: - check out/update canvas plugins needed for sharding: * multiple_root_accounts * demo_site * canvas_geoip - check out/update canvas plugin needed for provisioning: * uuid_provisioner - check out/update quiz repo: * quiz_api - check out/update outcomes service: * outcomes-service - add the following to the postgres container section of your docker-compose.override.yml in canvas: === ports: - "5432:5432" environment: VIRTUAL_HOST: db.canvas.docker === - update canvas configuration by adding example dynamic_settings to existing config/dynamic_settings.yml and by copying example uuid_provisioner.yml - in canvas rails console, enable the auto provision setting: > Setting.set('auto_provision_outcomes_service', 'true') - start up canvas, outcomes-service and quiz_api - create a new root account from canvas siteadmin http://canvas.docker/accounts/site_admin/root_accounts: * account name: outcomes * account domain: outcomes.canvas.docker - after a few minutes, verify in the outcomes rails console that a new shard has been created and registered for the second account, but not the first > ap AccountRegistry.all - create a course with outcomes in outcomes.canvas.docker - in the outcomes api docker container, dump canvas data and sync into the provisioned outcomes shard: > bundle exec rake canvas:dump_canvas_data[outcomes.outcomes.docker] > bundle exec rake canvas:sync[outcomes.outcomes.docker,true] - enable the outcome alignment feature flag: - http://canvas.docker/accounts/site_admin/settings - Feature Options tab - Find "Outcome alignment to non-scoring content" feature flag - Switch to "ON" - return to course created in new canvas account - create a canvas page in the course - load the newly created canvas page - confirm that an outcome alignment widget appears, and that it opens a side tray with course outcomes when attempting to align Change-Id: Ide6891493ea3c926d155d4aea9bc7aff5bdaa6fb Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227463 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Michael Brewer-Davis <mbd@instructure.com> Reviewed-by: Pat Renner <prenner@instructure.com> QA-Review: Michael Brewer-Davis <mbd@instructure.com> Product-Review: Michael Brewer-Davis <mbd@instructure.com>
2020-02-21 07:38:23 +08:00
"@babel/plugin-transform-react-inline-elements": "^7.2.0",
"@instructure/browserslist-config-canvas-lms": ">=2",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"@instructure/ui-babel-preset": "6",
"@prettier/plugin-ruby": "^1.5.2",
"@sentry/webpack-plugin": "^1.5.2",
"@sheerun/mutationobserver-shim": "0.3.2",
convert group edit JQueryUI dialog to InstUI modal This commit covers the teacher/admin view of editing user groups. Need to look into removing the old code in a followup change. closes FOO-909 flag = none test plan: - Verify the test plan in the following gerrit still plays out: - https://gerrit.instructure.com/c/canvas-lms/+/247628 - You'll need a student created group set and an admin created group set to test all the angles - Student Group Set - Create a group and remember its state - Go to edit said group - Verify the Group Name field is populated - Verify the Joining select is populated with prior choice - Edit the Group Name and Joining select dropdown - Verify the group collection is refreshed with your newly updated group - Go to edit the group and verify your changes saved successfully - Admin Group Set - Create a group and remember its state - Go to edit said group - Verify the Group Name field is populated - Verify the Group Membership Limit is populated - Verify as you did with the Student Group Set - Ensure the group has a member count - Edit the group and set the Group Membership Limit lower than your member count - Verify you get a descriptive error - The updated group modal should behave as it did before and be accessible and keyboard navigable Change-Id: I6bd4c6983239c9ed779fa41d297dab81c364fcbe Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/250185 Reviewed-by: Ahmad Amireh <ahmad@instructure.com> QA-Review: Ahmad Amireh <ahmad@instructure.com> Product-Review: Ahmad Amireh <ahmad@instructure.com> Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2020-10-15 06:41:17 +08:00
"@testing-library/dom": "^7",
"@testing-library/jest-dom": "^5",
"@testing-library/react": "^11",
"@testing-library/react-hooks": "^5",
convert group edit JQueryUI dialog to InstUI modal This commit covers the teacher/admin view of editing user groups. Need to look into removing the old code in a followup change. closes FOO-909 flag = none test plan: - Verify the test plan in the following gerrit still plays out: - https://gerrit.instructure.com/c/canvas-lms/+/247628 - You'll need a student created group set and an admin created group set to test all the angles - Student Group Set - Create a group and remember its state - Go to edit said group - Verify the Group Name field is populated - Verify the Joining select is populated with prior choice - Edit the Group Name and Joining select dropdown - Verify the group collection is refreshed with your newly updated group - Go to edit the group and verify your changes saved successfully - Admin Group Set - Create a group and remember its state - Go to edit said group - Verify the Group Name field is populated - Verify the Group Membership Limit is populated - Verify as you did with the Student Group Set - Ensure the group has a member count - Edit the group and set the Group Membership Limit lower than your member count - Verify you get a descriptive error - The updated group modal should behave as it did before and be accessible and keyboard navigable Change-Id: I6bd4c6983239c9ed779fa41d297dab81c364fcbe Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/250185 Reviewed-by: Ahmad Amireh <ahmad@instructure.com> QA-Review: Ahmad Amireh <ahmad@instructure.com> Product-Review: Ahmad Amireh <ahmad@instructure.com> Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2020-10-15 06:41:17 +08:00
"@testing-library/user-event": "^12",
"@types/react": ">=16.9.0",
"@yarnpkg/lockfile": "^1.0.2",
"array-flat-polyfill": "^1.0.1",
"axe-core": "~2.1.7",
"babel-eslint": "^10",
Upgrade to babel 7 & allow any js file to be themeable closes: CORE-2699 CORE-2700 UIDEV-99 This commit gets canvas-lms itself upgraded to babel 7. To do that we also had to upgrade jest to v24. We had already got canvas-rce and canvas-planner on jest24/babel7 but now this gets everything to babel 7. so you will see a lot of things removed from yarn.lock since we don’t don’t have to have different versions of everything for babel and jest The other major thing this does is make it so any JS file in canvas can become an @instructure/ui-themeable themeable component. This means you no longer should have to put your css in app/stylesheets for any new react components that you are writing. Test plan: 1. Make sure that the perf of `yarn build:js` is on-par with what it was before. We pass everything through the themeable babel transform now so there is a chance it is slower. If it is majorly slower, we’ll have to figure something out. 2. run a production weback build. The common (or any bundle for that matter should get output exactly the same as it did before) things to manually qa check: * in a NODE_ENV=production enviornment, go to /accounts/site_admin/developer_keys * click the "+ Developer Key" button, it should open the modal. (there are selenium tests that do this, but it was one thing that had to be fixed to get jenkins to pass) * on a course that is set up as a master course, click on the thing that opens the blueprint courses tray. * verify that when you click "Associations" and "Sync History" links in that tray, that they dynamically load the webpack chunk for the modal contents for that thing and then the modal is shown (again, there are selenium specs that test that exact thing but it is always good to manually test it too) Change-Id: I802584228962b54480a500f8fe422f45c2dcac4c Reviewed-on: https://gerrit.instructure.com/183965 Tested-by: Jenkins Reviewed-by: Clay Diffrient <cdiffrient@instructure.com> QA-Review: Ryan Shaw <ryan@instructure.com> Product-Review: Ryan Shaw <ryan@instructure.com>
2019-03-06 05:20:27 +08:00
"babel-jest": "^24",
"babel-loader": "^8",
"babel-plugin-dynamic-import-node": "^2.2.0",
"babel-plugin-transform-amd-to-commonjs": "^1.4.0",
"babel-plugin-transform-react-remove-prop-types": "^0.4",
modernize canvas_quizzes fixes FOO-1409 flag = none no more client_apps, canvas_quizzes now lives as part of canvas-lms proper inside app/jsx/, which makes the build leaner and leaves us with one less thing to reason about logical changes: - converted from AMD to ES modules - upgraded to recent react + react-router - dropped RSVP in favor of native Promises - used CanvasModal instead of home-grown Dialog - removed dead code; notifications in particular were fishy as there had no dependents at all and did not even show up in the graph - ported tests to Jest, added more unit ones and two integration ones - removed "config.onError" and now throws errors where appropriate - disabled console statements in non-dev :: test plan :: - create a (old-school) quiz containing all types of questions - as 3 distinct students, take the quiz and try to randomize your answers at this point it's helpful to have a reference to compare the screens; I replicated the quiz on my production sandbox for this - go to /courses/:id/quizzes/:id/submissions/:id/log - verify it looks OK - click on a specific question in the stream and verify the question inspector widget works OK - go back to stream and push "View table" - verify the table and its controls are OK - go to /courses/:id/quizzes/:id/statistics - verify it looks OK - click on ? in the discrimination index chart and verify it displays a dialog with help content - click on "X respondents" in one of the charts and verify it displays a dialog with the respondent names - verify the interactive charts do interact as expected (no logic changed here so just a quick glance) - link to "View in SpeedGrader" for essay-like questions works Change-Id: I79af5ff4f1479503b5e2528b613255dde5bc45d3 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256118 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Simon Williams <simon@instructure.com> QA-Review: Simon Williams <simon@instructure.com> Product-Review: Simon Williams <simon@instructure.com>
2021-01-02 07:58:12 +08:00
"chai-assert-change": "^2.0.0",
"clean-webpack-plugin": "^3",
"coffee-loader": "~0.7.2",
"coffee-script": "^1",
"concurrently": "^4",
"core-js-builder": "^3",
"css-loader": "^3",
"ember-template-compiler": "^1.8.0",
"enzyme": "^3",
"enzyme-adapter-react-16": "^1",
"enzyme-to-json": "^3.3.4",
Upgrade to babel 7 & allow any js file to be themeable closes: CORE-2699 CORE-2700 UIDEV-99 This commit gets canvas-lms itself upgraded to babel 7. To do that we also had to upgrade jest to v24. We had already got canvas-rce and canvas-planner on jest24/babel7 but now this gets everything to babel 7. so you will see a lot of things removed from yarn.lock since we don’t don’t have to have different versions of everything for babel and jest The other major thing this does is make it so any JS file in canvas can become an @instructure/ui-themeable themeable component. This means you no longer should have to put your css in app/stylesheets for any new react components that you are writing. Test plan: 1. Make sure that the perf of `yarn build:js` is on-par with what it was before. We pass everything through the themeable babel transform now so there is a chance it is slower. If it is majorly slower, we’ll have to figure something out. 2. run a production weback build. The common (or any bundle for that matter should get output exactly the same as it did before) things to manually qa check: * in a NODE_ENV=production enviornment, go to /accounts/site_admin/developer_keys * click the "+ Developer Key" button, it should open the modal. (there are selenium tests that do this, but it was one thing that had to be fixed to get jenkins to pass) * on a course that is set up as a master course, click on the thing that opens the blueprint courses tray. * verify that when you click "Associations" and "Sync History" links in that tray, that they dynamically load the webpack chunk for the modal contents for that thing and then the modal is shown (again, there are selenium specs that test that exact thing but it is always good to manually test it too) Change-Id: I802584228962b54480a500f8fe422f45c2dcac4c Reviewed-on: https://gerrit.instructure.com/183965 Tested-by: Jenkins Reviewed-by: Clay Diffrient <cdiffrient@instructure.com> QA-Review: Ryan Shaw <ryan@instructure.com> Product-Review: Ryan Shaw <ryan@instructure.com>
2019-03-06 05:20:27 +08:00
"es-check": "^5",
"eslint": "^7",
"eslint-config-airbnb": "^18",
"eslint-config-prettier": "^6",
"eslint-plugin-babel": "^5",
"eslint-plugin-eslint-comments": "^3.0.1",
"eslint-plugin-import": "^2",
Upgrade to babel 7 & allow any js file to be themeable closes: CORE-2699 CORE-2700 UIDEV-99 This commit gets canvas-lms itself upgraded to babel 7. To do that we also had to upgrade jest to v24. We had already got canvas-rce and canvas-planner on jest24/babel7 but now this gets everything to babel 7. so you will see a lot of things removed from yarn.lock since we don’t don’t have to have different versions of everything for babel and jest The other major thing this does is make it so any JS file in canvas can become an @instructure/ui-themeable themeable component. This means you no longer should have to put your css in app/stylesheets for any new react components that you are writing. Test plan: 1. Make sure that the perf of `yarn build:js` is on-par with what it was before. We pass everything through the themeable babel transform now so there is a chance it is slower. If it is majorly slower, we’ll have to figure something out. 2. run a production weback build. The common (or any bundle for that matter should get output exactly the same as it did before) things to manually qa check: * in a NODE_ENV=production enviornment, go to /accounts/site_admin/developer_keys * click the "+ Developer Key" button, it should open the modal. (there are selenium tests that do this, but it was one thing that had to be fixed to get jenkins to pass) * on a course that is set up as a master course, click on the thing that opens the blueprint courses tray. * verify that when you click "Associations" and "Sync History" links in that tray, that they dynamically load the webpack chunk for the modal contents for that thing and then the modal is shown (again, there are selenium specs that test that exact thing but it is always good to manually test it too) Change-Id: I802584228962b54480a500f8fe422f45c2dcac4c Reviewed-on: https://gerrit.instructure.com/183965 Tested-by: Jenkins Reviewed-by: Clay Diffrient <cdiffrient@instructure.com> QA-Review: Ryan Shaw <ryan@instructure.com> Product-Review: Ryan Shaw <ryan@instructure.com>
2019-03-06 05:20:27 +08:00
"eslint-plugin-jest": "^22",
"eslint-plugin-jsx-a11y": "^6",
"eslint-plugin-lodash": "^6",
"eslint-plugin-notice": "^0.8",
"eslint-plugin-prettier": "^3",
"eslint-plugin-promise": "^4",
"eslint-plugin-qunit": "^4",
"eslint-plugin-react": "^7",
"eslint-plugin-react-hooks": "^1",
"exports-loader": "^0.7",
"expose-loader": "^0.7",
"fast-glob": "^3.2.4",
"fetch-mock": "^7",
"file-loader": "^4",
"gglobby": "0.0.3",
"glob": "^7",
"graphql-tools": "^4",
"gulp": "^4",
"gulp-file": "^0.4",
"gulp-filter": "^6",
"gulp-insert": "^0.5",
"gulp-load-plugins": "^2",
"gulp-rename": "^2",
"gulp-rev": "^9",
"gulp-sourcemaps": "^2",
"gulp-uglify": "^3",
"handlebars": "1.3.0",
"imports-loader": "^0.8",
"istanbul-instrumenter-loader": "^3",
"istanbul-merge": "^1.1.1",
Upgrade to babel 7 & allow any js file to be themeable closes: CORE-2699 CORE-2700 UIDEV-99 This commit gets canvas-lms itself upgraded to babel 7. To do that we also had to upgrade jest to v24. We had already got canvas-rce and canvas-planner on jest24/babel7 but now this gets everything to babel 7. so you will see a lot of things removed from yarn.lock since we don’t don’t have to have different versions of everything for babel and jest The other major thing this does is make it so any JS file in canvas can become an @instructure/ui-themeable themeable component. This means you no longer should have to put your css in app/stylesheets for any new react components that you are writing. Test plan: 1. Make sure that the perf of `yarn build:js` is on-par with what it was before. We pass everything through the themeable babel transform now so there is a chance it is slower. If it is majorly slower, we’ll have to figure something out. 2. run a production weback build. The common (or any bundle for that matter should get output exactly the same as it did before) things to manually qa check: * in a NODE_ENV=production enviornment, go to /accounts/site_admin/developer_keys * click the "+ Developer Key" button, it should open the modal. (there are selenium tests that do this, but it was one thing that had to be fixed to get jenkins to pass) * on a course that is set up as a master course, click on the thing that opens the blueprint courses tray. * verify that when you click "Associations" and "Sync History" links in that tray, that they dynamically load the webpack chunk for the modal contents for that thing and then the modal is shown (again, there are selenium specs that test that exact thing but it is always good to manually test it too) Change-Id: I802584228962b54480a500f8fe422f45c2dcac4c Reviewed-on: https://gerrit.instructure.com/183965 Tested-by: Jenkins Reviewed-by: Clay Diffrient <cdiffrient@instructure.com> QA-Review: Ryan Shaw <ryan@instructure.com> Product-Review: Ryan Shaw <ryan@instructure.com>
2019-03-06 05:20:27 +08:00
"jest": "^24",
"jest-canvas-mock": "^2",
"jest-config": "^24",
"jest-environment-jsdom-fourteen": "^0.1.0",
"jest-fetch-mock": "^3.0.3",
"jest-junit": "^7",
"jest-localstorage-mock": "^2",
"jest-moxios-utils": "^1",
"jest-raw-loader": "^1",
"json-loader": "^0.5.7",
"karma": "^3",
"karma-chrome-launcher": "^2",
"karma-coverage-istanbul-reporter": "^2",
"karma-firework-reporter": "~0.2.4",
"karma-junit-reporter": "^1",
"karma-qunit": "~1.2.1",
"karma-sourcemap-loader": "^0.3",
"karma-spec-reporter": "^0.0.32",
"karma-verbose-reporter": "^0.0.6",
"karma-webpack": "necessary until https://github.com/ryanclark/karma-webpack/pull/449 is merged",
"karma-webpack": "instructure/karma-webpack#patch1",
"lint-staged": "^9",
"merge-stream": "^2",
"mkdirp": "^1.0.4",
Pass correct locale to Planner Sometimes ENV.LOCALE and ENV.MOMENT_LOCALE are different (zh-Hans v zh-cn or mi v mi-nz). We were passing the former to planner, but moment needs the full locale, including language and region identifiers, and formatMessage copes with the full locale just fine, so we really need to pass in the latter or moment eventually blows up. So mi-nz month names would successfully parse, had to both bump our version of moment and tweak the canvas customized mi-nz locale data. to test, you'll have to run yarn to update moment, then build with RAILS_LOAD_ALL_LOCALES=1 yarn build Note on the changes to timezoneSpec.js: - some of the specs were parsing dates like "Mon, Aug 3", which are being interpreted in the current year, when Aut 3 is not a Monday. Resolved this by using MockDate to pretend today is 2/1/2015 - moment does not always interpret the Chinese characters for evening as implying PM. I'm assuming canvas will never need that particular construct and commented out the failing string. - there's one date-time that's getting the date totally wrong. - Fixed grammatically incorrect instances of '8月 3, 2015' to ''8月 3日, 2015' - fix cases where the year is coming after the month and day, which would never really happen fixes ADMIN-1331 test plan: - have a student in course so planner is enabled. - go to /profile/settings and Edit - change the Language to Reo Māori (Aotearoa) and "Update Settings" - go to the planner dashboard - click on + to create a new todo > expect you can create a todo. If you want, you can repeat with any of the languages listed in the ticket just to prove ^that wasn't a fluke. Change-Id: I9ba069ef61529088ab92271d7857998df6bbc409 Reviewed-on: https://gerrit.instructure.com/161206 Tested-by: Jenkins Reviewed-by: Ryan Shaw <ryan@instructure.com> Reviewed-by: Mysti Sadler <mysti@instructure.com> Reviewed-by: Jeremy Stanley <jeremy@instructure.com> QA-Review: Anju Reddy <areddy@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2018-08-18 03:21:04 +08:00
"mockdate": "^2.0.2",
"moment-timezone-data-webpack-plugin": "^1.0.3",
"moxios": "^0.4",
"msw": "^0.27.2",
"node-sass": "~4.14.1",
"nyc": "^13",
"prettier": "^2.2.1",
"qunitjs": "^1.14.0",
"raven-js": "^3.26.2",
"react-test-renderer": "^16",
"redux-logger": "^3.0.6",
make feature flags for Right To Left layout Closes: CORE-1154 There are 2 feature flags here. One a specific user (internal employees, sales people, contractors, etc) can turn on to see where we are and what would still need to be done. And the other is for an account to be able to turn on to let the users in their account that have their language set to an RTL language (eg: Arabic, Farsi or Hebrew) see the interface in RTL This commit is part of a chain of commits. you'll need to apply the ones that follow-on after this to see most of the actual Right To Left features, this commit is mainly just to create the feature flag. Test plan: * go to your user settings page * you should see a feature option for Force RTL Layout” * it should show that it is “in development” * it should should be hidden: eg: only appears for site admins and not For normal users * turn it on (if you have this checked out along with the others that follow beind this commit) * navigate around canvas, most things on most pages should be RTL * you should be able to get an idea of how much more work and what Kind of changes we’d still need to make to get it 100% * now turn off that user feature flag, and go to your account's settings * turn on the "allow users from RTL languages to see RTL layout" account-level feature flag. * nothing should change for you, it should be LTR like normal * set your language to either Arabic, Farsi or Hebrew * now the interface should all be in right to left. (again, you'll need to have the follow-on commits to this to see all of the RTL changes) * without either of the feature flags turned on, absolutely nothing should be different at all anywhere in the interface. Change-Id: Ia78d86fa46d2d289b1913c5d1340546d7f6c3a1f Reviewed-on: https://gerrit.instructure.com/143891 Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com> QA-Review: Jeremy Putnam <jeremyp@instructure.com> Product-Review: Ryan Shaw <ryan@instructure.com> Tested-by: Jenkins
2018-03-17 02:25:14 +08:00
"sass-direction": "^1",
"script-loader": "^0.7",
"sinon": "^7",
"style-loader": "^0.23",
"stylelint": "^10",
"through2": "^3",
"tinymce": "^5",
"waait": "^1",
"webpack": "^4",
"webpack-bundle-analyzer": "^4.4.1",
"webpack-cleanup-plugin": "^0.5",
"webpack-cli": "^4",
"webpack-manifest-plugin": "^2",
"webpack-stats-plugin": "^0.2.1",
"wsrun": "^5",
"xsslint": "instructure/xsslint#babel7",
"yaml-loader": "^0.5"
},
"optionalDependencies": {
"@storybook/addon-actions": "^6.1.17",
"@storybook/addon-essentials": "^6.1.17",
"@storybook/addon-links": "^6.1.17",
"@storybook/addon-storyshots": "^6.1.17",
"@storybook/react": "^6.1.17",
"inspect-process": "^0.5"
},
"browserslist": [
"extends @instructure/browserslist-config-canvas-lms"
],
"repository": "instructure/canvas-lms",
"scripts": {
"test": "yarn test:packages && if [ \"$COVERAGE\" = \"1\" ]; then yarn test:jest:coverage --runInBand; else yarn test:jest --runInBand; fi && if [ \"$COVERAGE\" = \"1\" ]; then yarn test:karma; else yarn test:karma:concurrently; fi",
"test:coverage": "script/generate_js_coverage",
"test:watch": "concurrently --names \"jest,karma\" \"jest --watch .\" \"yarn test:karma:watch\"",
"test:jest": "jest --color",
"test:jest:coverage": "NODE_OPTIONS=\"--max_old_space_size=8192\" jest --color --coverage",
fix audio player and video player sizing closes LA-729 flag=rce_enhancements The original intent for the audio player was to size it so the buttons just fit. This ignored the fact that it's rendered w/in an iframe, so popup menus are clipped. This change sizes the player to leave room for those popups. While the ticket was written against the audio player, the same issues may occur in the video player, either for portrait videos or videos < 400px wide when closed captions are present. The original code for sizing the video player shrank the width to fit thea video's size, which clipped the buttons. This change sets a minimum width for the player and letter-boxes the video. test plan: - in the new rce - add an audio file > expect it to be wide enough to show all the buttons and tall enough for the speed and volume popups - add a vertical video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - Submit to upload > expect the player to be wide enough to show all the buttons - click the fullscreen button > expect the video to be the height of the screen and letterboxed - restore to windowed size > expect the video to return to its letterboxed size - click the video, then the Options button - change the video's size > expect the video to remain letterboxed - add a horizontal video > expect the video sized to fit in the available space in the Computer tab of the Upload Media modal - submit to upload > expect the player to be sized to the size of the video - fullscreen > expect the video to be letterboxed in the fullscreen player (if the aspect ration of the video !== that of your monitor, or fill the screen if they match) - for the horizontal video, select Opitons and change the size to be "medium" or "custom" and < 400px wide and add subtitles > expect the video to be letterboxed in a 400px wide iframe. Change-Id: Ib5d08dbd7796985d00f656e38a642ab92939d614 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238432 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Alex Anderson <raanderson@instructure.com> QA-Review: Robin Kuss <rkuss@instructure.com> Product-Review: Ed Schiebel <eschiebel@instructure.com>
2020-05-26 23:37:35 +08:00
"test:jest:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
"test:jest:watch": "jest --color --watch",
"test:karma": "yarn run test:karma:watch --single-run",
"test:karma:concurrently": "concurrently --names \"coffee,jsa,jsg,jsh\" \"JSPEC_GROUP=coffee yarn test:karma:headless\" \"JSPEC_GROUP=jsa yarn test:karma:headless\" \"JSPEC_GROUP=jsg yarn test:karma:headless\" \"JSPEC_GROUP=jsh yarn test:karma:headless\"",
"test:karma:headless": "yarn run test:karma --browsers ChromeHeadlessNoSandbox",
"test:karma:watch": "node --max-old-space-size=4096 ./node_modules/.bin/karma start",
"test:karma:watch:headless": "yarn run test:karma:watch --browsers ChromeHeadlessNoSandbox",
"test:packages": "if [ \"$COVERAGE\" = \"1\" ]; then yarn workspace-run-serial test:coverage; else yarn workspace-run-serial test; fi",
"build": "yarn run build:css && yarn run build:js",
"build:watch": "concurrently --raw \"yarn build:css:watch\" \"yarn build:js:watch\"",
"build:css": "brandable_css",
"build:css:watch": "brandable_css --watch",
"build:js": "yarn run webpack-development",
"build:js:watch": "yarn run webpack",
"build:packages": "yarn workspace-run build:canvas",
"lint:browser-code": "es-check es9 ./public/dist/**/*.js",
"lint:staged": "lint-staged",
"lint:js:coffeescripts": "echo 'STOP CALLING ME IM NO LONGER NEEDED'",
"lint:js:jsx": "eslint './ui/**/*.js'",
"lint:js:packages": "eslint ./packages/**/*.js",
"lint:style": "stylelint './app/**/*.{css,scss}' './packages/**/*.{css,scss}'",
"lint:xss": "node ./script/xsslint.js",
"postinstall": "yarn dedupe-yarn; test -n \"$DISABLE_POSTINSTALL\" || (yarn build:packages && ./script/install_hooks && ./script/fix_inst_esm.js)",
"webpack:analyze": "NODE_ENV=production NODE_OPTIONS=\"--max_old_space_size=8096\" SKIP_SOURCEMAPS=1 WEBPACK_ANALYSIS=1 WEBPACK_PEDANTIC=0 webpack",
"webpack": "gulp rev 1> /dev/null & NODE_OPTIONS=\"--max_old_space_size=8192\" webpack --progress --color --watch",
"webpack-development": "gulp rev 1> /dev/null & NODE_OPTIONS=\"--max_old_space_size=8192\" webpack --color",
"webpack-production": "NODE_ENV=production gulp rev && NODE_ENV=production NODE_OPTIONS=\"--max_old_space_size=8192\" webpack --color",
"workspace-run": "r() { wsrun --fast-exit --exclude-missing --report -c $@; exit $?; } && r",
"workspace-run-serial": "r() { wsrun --fast-exit --exclude-missing --collect-logs --report --serial -c $@; exit $?; } && r",
"jspec": "./spec/jspec.sh",
"jspec-watch": "./spec/jspec.sh --watch",
"a11y-report": "./spec/jspec.sh --a11y",
"upgrade-and-dedupe": "rm -rf yarn.lock node_modules && yes 1 | yarn install --flat --production --ignore-scripts && git checkout package.json && yarn install && git add yarn.lock",
"upgrade-instructure-ui": "script/upgrade-instructure-ui",
"dedupe-yarn": "npx --yes yarn-deduplicate",
"clean": "yarn workspace-run-serial clean",
"storybook": "start-storybook -p 6006 --no-dll --static-dir ./public/javascripts,./public",
"test-storybook": "yarn jest --roots .storybook --testMatch **/storybook.test.js"
},
"resolutions": {
"jquery": "https://github.com/instructure/jquery.git#1.7.2-with-AMD-and-CommonJS",
"graphael": "this is just here so yarn.lock looks the same whether the analytics plugin is checked out or not",
"graphael": "https://github.com/instructure/graphael.git",
"babel-plugin-dynamic-import-node": "if we let this upgrade to recent versions, we hit https://github.com/babel/babel/issues/11607",
"babel-plugin-dynamic-import-node": "2.3.0"
AMD Conversion "Trivial" JavaScript / CoffeeScript changes -------------------------------------------------- For the most part, all javascript was simply wrapped in `require` or `define`. The dependencies were found with a script that matched regexes in the files, it errs on the side of listing too many dependencies, so its worth double checking each file's dependencies (over time, anyway). i18n API changes -------------------------------------------------- No longer have to do I18n.scoped calls, just list i18n as a dependency with the scope and it's imported already scoped require ['i18n!some_scope'], (I18n) -> I18n.t 'im_scoped', 'I'm scoped!' JS bundling now done with r.js, not Jammit -------------------------------------------------- We don't use jammit to bundle JS anymore. Simply list dependencies for your JS modules in the file and RequireJS handles the rest. To optimize the JavaScript, first make sure you have node.js 0.4.12+ installed and then run: $ rake js:build The app defaults to the optimized build in production. You can use non-optimized in production by putting ?debug_assets=true in the url just like before. You can also test the optimized JavaScript in development with ?optimized_js=true. Significant changes -------------------------------------------------- These files have "real" changes to them (unlike the JavaScript that is simply wrapped in require and define). Worth taking a really close look at: - app/helpers/application_helper.rb - app/views/layouts/application.html.erb - config/assets.yml - config/build.js - lib/handlebars/handlebars.rb - lib/i18n_extraction/js_extractor.rb - lib/tasks/canvas.rake - lib/tasks/i18n.rake - lib/tasks/js.rake Change-Id: I4bc5ecb1231f331aaded0fef2bcc1f3a9fe482a7 Reviewed-on: https://gerrit.instructure.com/6986 Tested-by: Hudson <hudson@instructure.com> Reviewed-by: Ryan Florence <ryanf@instructure.com>
2011-11-11 00:31:45 +08:00
}
}