2011-11-11 00:31:45 +08:00
|
|
|
{
|
|
|
|
"name": "canvas-lms",
|
2015-07-16 12:24:49 +08:00
|
|
|
"license": "AGPL-3.0",
|
2011-11-11 00:31:45 +08:00
|
|
|
"version": "0.0.0",
|
2015-07-16 12:24:49 +08:00
|
|
|
"engines": {
|
2019-03-25 22:45:33 +08:00
|
|
|
"node": ">=10.14.0",
|
2019-01-09 04:25:49 +08:00
|
|
|
"yarn": "^1.6.0"
|
2015-07-16 12:24:49 +08:00
|
|
|
},
|
2018-05-25 00:09:03 +08:00
|
|
|
"private": true,
|
|
|
|
"workspaces": {
|
|
|
|
"packages": [
|
2018-06-15 22:04:23 +08:00
|
|
|
"gems/canvas_i18nliner",
|
|
|
|
"gems/selinimum",
|
2018-07-20 03:42:35 +08:00
|
|
|
"gems/plugins/*",
|
2018-05-25 00:09:03 +08:00
|
|
|
"packages/*",
|
|
|
|
"client_apps/*"
|
|
|
|
],
|
|
|
|
"nohoist": [
|
|
|
|
"canvas_quizzes/grunt*",
|
|
|
|
"canvas_quizzes/jasmine*"
|
|
|
|
]
|
|
|
|
},
|
2014-02-11 02:29:11 +08:00
|
|
|
"dependencies": {
|
2018-11-16 04:22:01 +08:00
|
|
|
"@instructure/media-capture": "^5",
|
2018-11-27 02:20:33 +08:00
|
|
|
"@instructure/react-crop": "^5.0.1",
|
2018-10-04 07:01:30 +08:00
|
|
|
"@instructure/ui-alerts": "^5",
|
|
|
|
"@instructure/ui-billboard": "^5",
|
|
|
|
"@instructure/ui-breadcrumb": "^5",
|
|
|
|
"@instructure/ui-buttons": "^5",
|
|
|
|
"@instructure/ui-core": "^5",
|
2018-12-21 05:30:07 +08:00
|
|
|
"@instructure/ui-editable": "^5",
|
2018-11-01 22:13:35 +08:00
|
|
|
"@instructure/ui-focusable": "^5",
|
2018-12-12 06:06:18 +08:00
|
|
|
"@instructure/ui-form-field": "^5",
|
2019-02-06 04:54:30 +08:00
|
|
|
"@instructure/ui-forms": "^5",
|
2018-10-04 07:01:30 +08:00
|
|
|
"@instructure/ui-icons": "^5",
|
|
|
|
"@instructure/ui-layout": "^5",
|
|
|
|
"@instructure/ui-menu": "^5",
|
2018-12-21 05:30:07 +08:00
|
|
|
"@instructure/ui-number-input": "^5",
|
2018-10-04 07:01:30 +08:00
|
|
|
"@instructure/ui-overlays": "^5",
|
|
|
|
"@instructure/ui-pagination": "^5",
|
2019-03-22 01:32:00 +08:00
|
|
|
"@instructure/ui-table": "^5",
|
2018-10-04 07:01:30 +08:00
|
|
|
"@instructure/ui-tabs": "^5",
|
|
|
|
"@instructure/ui-themeable": "^5",
|
|
|
|
"@instructure/ui-themes": "^5",
|
|
|
|
"@instructure/ui-toggle-details": "^5",
|
2018-11-20 04:17:17 +08:00
|
|
|
"apollo-cache-inmemory": "^1.3.10",
|
|
|
|
"apollo-client": "^2.4.6",
|
|
|
|
"apollo-link": "^1.2.3",
|
|
|
|
"apollo-link-error": "^1.1.1",
|
|
|
|
"apollo-link-http": "^1.5.5",
|
2018-12-11 03:56:24 +08:00
|
|
|
"apollo-link-state": "^0.4.2",
|
2018-06-27 02:56:45 +08:00
|
|
|
"axios": "^0.18.0",
|
2019-01-16 02:40:26 +08:00
|
|
|
"axios-cache-adapter": "^2.1.1",
|
2017-10-04 01:05:04 +08:00
|
|
|
"backbone": "1.1.1",
|
2018-05-02 04:54:56 +08:00
|
|
|
"big.js": "^5.0.3",
|
2017-09-26 07:19:15 +08:00
|
|
|
"brandable_css": "0.1.0",
|
2018-05-25 00:09:03 +08:00
|
|
|
"canvas-planner": ">=1.0.16",
|
2019-03-29 00:34:44 +08:00
|
|
|
"@instructure/canvas-rce-old": "4.1.2",
|
2017-08-09 03:40:06 +08:00
|
|
|
"canvas_offline_course_viewer": "https://github.com/instructure/canvas_offline_course_viewer.git#1.2.0",
|
2017-10-04 01:05:04 +08:00
|
|
|
"classnames": "^2.2.5",
|
|
|
|
"color-slicer": "0.8.0",
|
2018-09-12 13:29:44 +08:00
|
|
|
"create-react-class": "^15.6.3",
|
2017-12-04 23:24:41 +08:00
|
|
|
"d3": "3.5.17",
|
2018-03-02 07:12:40 +08:00
|
|
|
"formdata-polyfill": "^3.0.9",
|
2018-01-12 00:59:21 +08:00
|
|
|
"fullcalendar": "https://github.com/instructure/fullcalendar.git#1108dd1c991a029ec6fd7de3337737ec5295ba97",
|
2017-10-04 01:05:04 +08:00
|
|
|
"graphiql": "^0.11.2",
|
2019-02-13 23:29:15 +08:00
|
|
|
"graphiql-explorer": "^0.3.6",
|
|
|
|
"graphql": "^14",
|
2018-03-27 01:32:21 +08:00
|
|
|
"graphql-tag": "^2.8.0",
|
2018-03-14 04:10:14 +08:00
|
|
|
"i18n-js": "^3",
|
2017-10-04 01:05:04 +08:00
|
|
|
"ic-ajax": "~2.0.1",
|
|
|
|
"ic-tabs": "0.1.3",
|
Update assignment as it's edited
closes ADMIN-2343
test plan:
- load an assignment in the A2 teacher view, add #edit to the url and
refresh the page
- change each field on the page (modules, group, name, points,
description, submission type, attempts allowed. others are not
wired up yet since the UI for these either isn't built yet, or has
changed recently)
> expect the Cancel/Save/Publish foot er to appear. buttons on the
right
> on clicking cancel, expect the changed value(s) to revert and the footer to disappear
> on clicking save, expect the footer to disappear
> on clicking publish, if previously unpublished expect footer to
disappear and the toggle to flip to published
- flip the publish toggle
> expect the footer _not_ to appear
- flip to rtl
> expect the footer buttons to be on the left, even in Edge
- enter an invalid value for Points
> expect an error message, and for the field to remain in edit mode
- delete the assignment's name and TAB
> expect an error message that the name is required
Disabling the Save and Publish buttons when there are invalid fields on
the page is left to ADMIN-2443
Change-Id: I016af6dc6e0e18d9aed1c364a328f9107a4d2762
Reviewed-on: https://gerrit.instructure.com/180831
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2019-02-07 06:39:27 +08:00
|
|
|
"immer": "^2.0.0",
|
2018-02-23 03:58:38 +08:00
|
|
|
"immutability-helper": "^2",
|
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",
|
2018-12-11 13:51:31 +08:00
|
|
|
"is-valid-domain": "^0.0.6",
|
2017-11-22 04:03:43 +08:00
|
|
|
"jquery": "https://github.com/ryankshaw/jquery.git#a755a3e9c99d5a70d8ea570836f94ae1ba56046d",
|
2017-10-04 01:05:04 +08:00
|
|
|
"jquery-getscrollbarwidth": "^1.0.0",
|
|
|
|
"jquery-ui-touch-punch": "^0.2.3",
|
|
|
|
"jquery.cookie": "^1.4.1",
|
2018-01-03 06:24:44 +08:00
|
|
|
"jquery.elastic": "1.0.0",
|
2017-12-09 08:32:58 +08:00
|
|
|
"location-origin": "^1.1.4",
|
2017-10-04 01:05:04 +08:00
|
|
|
"lodash": "^4.16.4",
|
Fix XSS in calander
Fixes COMMS-1846
Test Plan:
* Go to the calendar, click on a day to add an event, and click on the
"More Options" button.
* Switch to the html editor, and add the following:
<img class='equation_image'
data-mathml='<img src=x onerror=prompt(document.cookie); />'>
* Save the event. Go back to the calendar and click on the newly saved
event, and notice that you don't get XSS'd
* Create another event in the calendar, and this time add the
following via the html editor:
<img class="equation_image" title="(-\infty,\infty)"
src="/equation_images/(-%255Cinfty%252C%255Cinfty)"
alt="Infinities: (-\infty,\infty)"
data-equation-content="(-\infty,\infty)" />
* Save the event, and load it in the calendar. Notice that it still
properly displays this mathml image properly.
* Test the same calendar event with a screen reader, and notice that
it is still accessible
Change-Id: If0f1ac8ad93f04ececb7aa2f7ef221204b1ce14f
Reviewed-on: https://gerrit.instructure.com/179783
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2019-01-30 00:34:54 +08:00
|
|
|
"mathml-tag-names": "^2.1.0",
|
2017-10-04 01:05:04 +08:00
|
|
|
"md5": "^2.2.1",
|
2018-03-07 00:03:37 +08:00
|
|
|
"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",
|
2018-03-31 03:07:41 +08:00
|
|
|
"normalize-scroll-left": "^0.1.2",
|
2017-10-04 01:05:04 +08:00
|
|
|
"page": "visionmedia/page.js#1.6.4",
|
2018-01-17 00:52:42 +08:00
|
|
|
"parse-decimal-number": "1.0.0",
|
2018-05-31 02:03:31 +08:00
|
|
|
"parse-link-header": "^1",
|
2018-02-23 03:58:38 +08:00
|
|
|
"prop-types": "^15",
|
2019-03-07 00:43:35 +08:00
|
|
|
"qs": "^6.6.0",
|
2018-10-24 22:12:06 +08:00
|
|
|
"react": "^16.6.0",
|
2018-03-27 01:32:21 +08:00
|
|
|
"react-apollo": "^2.1.1",
|
2018-09-12 05:22:47 +08:00
|
|
|
"react-dnd": "^2.5.2",
|
|
|
|
"react-dnd-html5-backend": "^2.5.2",
|
2018-10-24 22:12:06 +08:00
|
|
|
"react-dom": "^16.6.0",
|
2018-06-01 05:13:10 +08:00
|
|
|
"react-immutable-proptypes": "^2.1.0",
|
2018-04-27 04:24:36 +08:00
|
|
|
"react-lazy-load": "^3.0.13",
|
2018-09-13 03:05:43 +08:00
|
|
|
"react-modal": "^3",
|
2019-03-17 03:45:57 +08:00
|
|
|
"react-player": "^1.9.3",
|
2018-11-30 08:54:31 +08:00
|
|
|
"react-redux": "^5.1.1",
|
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",
|
2018-11-27 02:20:33 +08:00
|
|
|
"react-transition-group": "^1",
|
2018-11-30 08:52:22 +08:00
|
|
|
"redux": "^4.0.1",
|
2018-11-30 08:57:55 +08:00
|
|
|
"redux-actions": "^2.6.4",
|
2018-11-30 09:00:13 +08:00
|
|
|
"redux-thunk": "^2.3.0",
|
Fix XSS in calander
Fixes COMMS-1846
Test Plan:
* Go to the calendar, click on a day to add an event, and click on the
"More Options" button.
* Switch to the html editor, and add the following:
<img class='equation_image'
data-mathml='<img src=x onerror=prompt(document.cookie); />'>
* Save the event. Go back to the calendar and click on the newly saved
event, and notice that you don't get XSS'd
* Create another event in the calendar, and this time add the
following via the html editor:
<img class="equation_image" title="(-\infty,\infty)"
src="/equation_images/(-%255Cinfty%252C%255Cinfty)"
alt="Infinities: (-\infty,\infty)"
data-equation-content="(-\infty,\infty)" />
* Save the event, and load it in the calendar. Notice that it still
properly displays this mathml image properly.
* Test the same calendar event with a screen reader, and notice that
it is still accessible
Change-Id: If0f1ac8ad93f04ececb7aa2f7ef221204b1ce14f
Reviewed-on: https://gerrit.instructure.com/179783
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2019-01-30 00:34:54 +08:00
|
|
|
"sanitize-html": "^1.20.0",
|
2017-10-04 01:05:04 +08:00
|
|
|
"spin.js": "2.3.2",
|
|
|
|
"swfobject": "^2.2.1",
|
|
|
|
"tablesorter": "^2.28.5",
|
2018-10-16 01:36:11 +08:00
|
|
|
"timezone": "^1.0.18",
|
2017-10-04 01:05:04 +08:00
|
|
|
"tinycolor2": "1.4.1",
|
2019-04-04 01:31:39 +08:00
|
|
|
"tinymce-a11y-checker": "^2",
|
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"
|
2014-02-11 02:29:11 +08:00
|
|
|
},
|
2011-11-11 00:31:45 +08:00
|
|
|
"devDependencies": {
|
2019-03-06 05:20:27 +08:00
|
|
|
"@babel/cli": "^7.0.0",
|
|
|
|
"@babel/core": "^7.0.0",
|
add @babel/plugin-transform-react-inline-elements
closes: CORE-2749
Now that we use babel-transform-runtime, we can also do this to improve
performance over the existing React.createElement calls by inlining the
result of what it would have returned.
see https://github.com/facebook/react/issues/3228 for why this improves
runtime perf
so for an example, say you have:
const foo = <div className="bar" style={{color: 'red'}}>The Text</div>
normally babel would transform that to:
var foo = React.createElement("div", {
className: "bar",
style: {
color: 'red'
}
}, "The Text");
but this will transform it to:
var foo = _jsx("div", {
className: "bar",
style: {
color: 'red'
}
}, void 0, "The Text");
That React.createElement is a lot more complex and slower at runtime,
This should make things faster at runtime
TEST PLAN:
* bundle sizes should stay the same but js runtime for react “render”ing
Should be faster in production mode
Change-Id: I075d249b9effd0af1b16b9e35c1ddd27696c6955
Reviewed-on: https://gerrit.instructure.com/188865
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-04-10 00:46:49 +08:00
|
|
|
"@babel/plugin-transform-react-inline-elements": "^7.2.0",
|
2019-03-06 05:20:27 +08:00
|
|
|
"@instructure/ui-babel-preset": "^5",
|
2018-06-16 01:28:53 +08:00
|
|
|
"@sentry/webpack-plugin": "^1.5.2",
|
2019-01-15 01:33:05 +08:00
|
|
|
"@sheerun/mutationobserver-shim": "0.3.2",
|
2018-08-11 00:22:49 +08:00
|
|
|
"@yarnpkg/lockfile": "^1.0.2",
|
2018-02-23 03:58:38 +08:00
|
|
|
"axe-core": "~2.1.7",
|
2019-03-06 02:30:44 +08:00
|
|
|
"babel-eslint": "^10",
|
2019-03-06 05:20:27 +08:00
|
|
|
"babel-jest": "^24",
|
|
|
|
"babel-loader": "^8",
|
2016-07-09 00:16:46 +08:00
|
|
|
"babel-plugin-add-module-exports": "0.2.1",
|
2019-02-06 04:54:30 +08:00
|
|
|
"babel-plugin-dynamic-import-node": "^2.2.0",
|
2019-02-23 14:41:33 +08:00
|
|
|
"babel-plugin-transform-amd-to-commonjs": "^1.4.0",
|
2018-02-23 03:58:38 +08:00
|
|
|
"babel-plugin-transform-react-remove-prop-types": "^0.4",
|
|
|
|
"coffee-loader": "~0.7.2",
|
|
|
|
"coffee-script": "^1",
|
2018-09-18 07:08:57 +08:00
|
|
|
"concurrently": "^4",
|
2018-02-23 03:58:38 +08:00
|
|
|
"core-js-builder": "^2",
|
2018-10-04 07:01:30 +08:00
|
|
|
"css-loader": "^1",
|
2015-10-01 11:16:11 +08:00
|
|
|
"ember-template-compiler": "^1.8.0",
|
2017-12-09 01:29:42 +08:00
|
|
|
"enzyme": "^3",
|
2018-09-11 12:13:01 +08:00
|
|
|
"enzyme-adapter-react-16": "^1",
|
2018-10-10 03:36:49 +08:00
|
|
|
"enzyme-to-json": "^3.3.4",
|
2019-03-06 05:20:27 +08:00
|
|
|
"es-check": "^5",
|
2018-10-04 07:01:30 +08:00
|
|
|
"eslint": "^5",
|
|
|
|
"eslint-config-airbnb": "^17",
|
2019-03-06 02:30:44 +08:00
|
|
|
"eslint-config-prettier": "^4",
|
2018-11-03 01:48:59 +08:00
|
|
|
"eslint-plugin-eslint-comments": "^3.0.1",
|
2018-02-23 03:58:38 +08:00
|
|
|
"eslint-plugin-import": "^2",
|
2019-03-06 05:20:27 +08:00
|
|
|
"eslint-plugin-jest": "^22",
|
2018-02-23 03:58:38 +08:00
|
|
|
"eslint-plugin-jsx-a11y": "^6",
|
2019-03-06 05:20:27 +08:00
|
|
|
"eslint-plugin-lodash": "^5",
|
2018-07-06 03:18:17 +08:00
|
|
|
"eslint-plugin-notice": "^0.7",
|
2018-10-04 07:01:30 +08:00
|
|
|
"eslint-plugin-prettier": "^3",
|
|
|
|
"eslint-plugin-promise": "^4",
|
|
|
|
"eslint-plugin-qunit": "^4",
|
2018-02-23 03:58:38 +08:00
|
|
|
"eslint-plugin-react": "^7",
|
|
|
|
"exports-loader": "^0.7",
|
|
|
|
"expose-loader": "^0.7",
|
2018-10-04 07:01:30 +08:00
|
|
|
"fetch-mock": "^7",
|
2019-03-06 05:20:27 +08:00
|
|
|
"file-loader": "^3",
|
2018-02-23 03:58:38 +08:00
|
|
|
"fontfaceobserver": "^2",
|
2016-08-09 07:39:19 +08:00
|
|
|
"gglobby": "0.0.3",
|
2018-02-23 03:58:38 +08:00
|
|
|
"glob": "^7",
|
|
|
|
"gulp": "^3",
|
|
|
|
"gulp-file": "^0.4",
|
|
|
|
"gulp-filter": "^5",
|
|
|
|
"gulp-insert": "^0.5",
|
|
|
|
"gulp-load-plugins": "^1",
|
|
|
|
"gulp-rename": "^1",
|
|
|
|
"gulp-rev": "^8",
|
|
|
|
"gulp-sourcemaps": "^2",
|
|
|
|
"gulp-uglify": "^3",
|
2017-02-15 05:54:51 +08:00
|
|
|
"handlebars": "1.3.0",
|
2017-08-15 07:07:13 +08:00
|
|
|
"happypack": "^3.1.0",
|
2018-02-23 03:58:38 +08:00
|
|
|
"imports-loader": "^0.8",
|
|
|
|
"istanbul-instrumenter-loader": "^3",
|
2018-04-06 05:27:42 +08:00
|
|
|
"istanbul-merge": "^1.1.1",
|
2019-03-06 05:20:27 +08:00
|
|
|
"jest": "^24",
|
2018-09-07 12:26:55 +08:00
|
|
|
"jest-canvas-mock": "^1",
|
2019-02-23 14:41:33 +08:00
|
|
|
"jest-config": "^24",
|
2019-03-06 02:30:44 +08:00
|
|
|
"jest-dom": "^3",
|
|
|
|
"jest-junit": "^6",
|
2018-02-23 03:58:38 +08:00
|
|
|
"jest-localstorage-mock": "^2",
|
2018-12-04 23:19:46 +08:00
|
|
|
"jest-moxios-utils": "^1",
|
2018-02-23 03:58:38 +08:00
|
|
|
"json-loader": "^0.5.7",
|
2016-01-07 06:31:33 +08:00
|
|
|
"jsx-loader": "0.11.2",
|
2018-10-04 07:01:30 +08:00
|
|
|
"karma": "^3",
|
2018-02-23 03:58:38 +08:00
|
|
|
"karma-chrome-launcher": "^2",
|
2018-10-04 07:01:30 +08:00
|
|
|
"karma-coverage-istanbul-reporter": "^2",
|
2015-02-26 06:28:11 +08:00
|
|
|
"karma-firework-reporter": "~0.2.4",
|
2018-02-23 03:58:38 +08:00
|
|
|
"karma-junit-reporter": "^1",
|
2017-07-26 01:29:52 +08:00
|
|
|
"karma-qunit": "~1.2.1",
|
2018-02-23 03:58:38 +08:00
|
|
|
"karma-sourcemap-loader": "^0.3",
|
2017-12-18 23:21:42 +08:00
|
|
|
"karma-spec-reporter": "^0.0.32",
|
2017-07-26 01:29:52 +08:00
|
|
|
"karma-verbose-reporter": "^0.0.6",
|
2018-10-04 07:01:30 +08:00
|
|
|
"karma-webpack": "^3",
|
2019-01-09 02:41:32 +08:00
|
|
|
"lint-staged": "^8.1.0",
|
2018-02-23 03:58:38 +08:00
|
|
|
"merge-stream": "^1",
|
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",
|
2018-02-23 03:58:38 +08:00
|
|
|
"moxios": "^0.4",
|
2018-10-04 07:01:30 +08:00
|
|
|
"nyc": "^13",
|
2018-02-23 03:58:38 +08:00
|
|
|
"prettier": "^1",
|
2017-02-15 05:54:51 +08:00
|
|
|
"qunitjs": "^1.14.0",
|
2018-06-15 03:55:22 +08:00
|
|
|
"raven-js": "^3.26.2",
|
2018-09-11 12:13:01 +08:00
|
|
|
"react-test-renderer": "^16",
|
2019-03-06 02:30:44 +08:00
|
|
|
"react-testing-library": "^6",
|
2018-11-30 09:03:38 +08:00
|
|
|
"redux-logger": "^3.0.6",
|
2017-02-15 05:54:51 +08:00
|
|
|
"requirejs": "~2.2.0",
|
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",
|
2018-02-23 03:58:38 +08:00
|
|
|
"script-loader": "^0.7",
|
|
|
|
"sinon": "^4",
|
2018-10-04 07:01:30 +08:00
|
|
|
"style-loader": "^0.23",
|
2018-02-23 03:58:38 +08:00
|
|
|
"stylelint": "^9",
|
|
|
|
"through2": "^2",
|
2018-10-12 07:00:55 +08:00
|
|
|
"uglifyjs-webpack-plugin": "^1.2",
|
2019-01-08 22:48:21 +08:00
|
|
|
"unfetch": "^4.0.1",
|
2019-03-06 02:30:44 +08:00
|
|
|
"waait": "^1",
|
2018-02-23 03:58:38 +08:00
|
|
|
"webpack": "^3",
|
|
|
|
"webpack-cleanup-plugin": "^0.5",
|
2018-10-04 07:01:30 +08:00
|
|
|
"webpack-manifest-plugin": "^2",
|
2019-04-09 02:36:08 +08:00
|
|
|
"wsrun": "^3.6.4",
|
2018-11-09 05:06:21 +08:00
|
|
|
"xsslint": "https://github.com/claydiffrient/xsslint.git#master",
|
2018-02-23 03:58:38 +08:00
|
|
|
"yaml-loader": "^0.5"
|
2014-01-24 23:58:37 +08:00
|
|
|
},
|
2019-03-05 23:51:37 +08:00
|
|
|
"optionalDependencies": {
|
|
|
|
"inspect-process": "^0.5"
|
|
|
|
},
|
2017-12-22 04:09:17 +08:00
|
|
|
"jest-junit": {
|
|
|
|
"output": "./coverage-js/junit-reports/jest.xml"
|
|
|
|
},
|
2015-07-16 12:24:49 +08:00
|
|
|
"repository": "instructure/canvas-lms",
|
2014-01-24 23:58:37 +08:00
|
|
|
"scripts": {
|
2019-03-12 01:06:37 +08:00
|
|
|
"test": "concurrently --names \"packages,jest,karma\" \"yarn test:packages\" \"if [ \"$COVERAGE\" ]; then yarn test:jest:coverage --maxWorkers 1; else yarn test:jest --maxWorkers 1; fi\" \"if [ \"$COVERAGE\" ]; then yarn test:karma; else yarn test:karma:concurrently; fi\"",
|
2018-04-06 05:27:42 +08:00
|
|
|
"test:coverage": "script/generate_js_coverage",
|
2017-12-22 04:09:17 +08:00
|
|
|
"test:watch": "concurrently --names \"jest,karma\" \"jest --watch .\" \"yarn test:karma:watch\"",
|
2018-04-06 05:27:42 +08:00
|
|
|
"test:jest": "jest --color",
|
2019-03-31 02:35:15 +08:00
|
|
|
"test:jest:coverage": "node --max-old-space-size=4096 ./node_modules/.bin/jest --color --coverage",
|
2019-02-24 05:35:33 +08:00
|
|
|
"test:jest:debug": "inspect node_modules/.bin/jest --runInBand",
|
2018-05-18 06:02:10 +08:00
|
|
|
"test:karma": "yarn run test:karma:watch --single-run",
|
2018-09-19 03:44:28 +08:00
|
|
|
"test:karma:concurrently": "DISABLE_HAPPYPACK=1 concurrently --names \"coffee,js1,js2\" \"JSPEC_GROUP=coffee yarn test:karma:headless\" \"JSPEC_GROUP=js1 yarn test:karma:headless\" \"JSPEC_GROUP=js2 yarn test:karma:headless\"",
|
2018-05-18 06:02:10 +08:00
|
|
|
"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",
|
2019-01-09 04:25:49 +08:00
|
|
|
"test:packages": "if [ \"$COVERAGE\" ]; then yarn workspace-run-serial test:coverage; else yarn workspace-run-serial test; fi",
|
2017-05-03 00:44:54 +08:00
|
|
|
"build": "yarn run build:css && yarn run build:js",
|
2017-12-22 04:09:17 +08:00
|
|
|
"build:watch": "concurrently \"yarn build:css:watch\" \"yarn build:js:watch\"",
|
2017-05-03 00:44:54 +08:00
|
|
|
"build:css": "brandable_css",
|
|
|
|
"build:css:watch": "brandable_css --watch",
|
|
|
|
"build:js": "yarn run webpack-development",
|
|
|
|
"build:js:watch": "yarn run webpack",
|
2018-05-25 00:09:03 +08:00
|
|
|
"build:packages": "yarn workspace-run build:canvas",
|
2018-04-11 00:36:43 +08:00
|
|
|
"lint:browser-code": "es-check es5 ./public/dist/**/*.js",
|
2018-11-28 06:40:21 +08:00
|
|
|
"lint:staged": "lint-staged",
|
2018-11-08 07:04:08 +08:00
|
|
|
"postinstall": "yarn build:packages && ./script/install_hooks",
|
2018-11-02 23:24:33 +08:00
|
|
|
"webpack": "gulp rev 1> /dev/null & webpack --progress --color --watch",
|
|
|
|
"webpack-development": "gulp rev 1> /dev/null & webpack --color && yarn lint:browser-code",
|
2018-04-11 00:36:43 +08:00
|
|
|
"webpack-production": "NODE_ENV=production gulp rev && node --max_old_space_size=4096 $(yarn bin)/webpack --color --config webpack.production.config.js && yarn lint:browser-code",
|
2019-04-09 02:36:08 +08:00
|
|
|
"workspace-run": "r() { wsrun --fast-exit --exclude-missing --collect-logs --report -c $@; exit $?; } && r",
|
|
|
|
"workspace-run-serial": "r() { wsrun --fast-exit --exclude-missing --collect-logs --report --serial -c $@; exit $?; } && r",
|
2016-11-08 05:13:53 +08:00
|
|
|
"jspec": "./spec/jspec.sh",
|
2016-08-17 05:30:29 +08:00
|
|
|
"jspec-watch": "./spec/jspec.sh --watch",
|
2018-03-03 02:20:00 +08:00
|
|
|
"a11y-report": "./spec/jspec.sh --a11y",
|
2018-08-11 00:22:49 +08:00
|
|
|
"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"
|
2017-11-22 07:09:15 +08:00
|
|
|
},
|
|
|
|
"resolutions": {
|
2018-03-29 03:43:24 +08:00
|
|
|
"jquery": "https://github.com/ryankshaw/jquery.git#a755a3e9c99d5a70d8ea570836f94ae1ba56046d",
|
2018-05-25 00:09:03 +08:00
|
|
|
"canvas-quizzes/grunt-contrib-jasmine/jasmine-core": "2.6.4",
|
2018-09-09 13:17:24 +08:00
|
|
|
"graphael": "this is just here so yarn.lock looks the same whether the analytics plugin is checked out or not",
|
2019-03-06 02:30:44 +08:00
|
|
|
"graphael": "https://github.com/ryankshaw/graphael.git"
|
2011-11-11 00:31:45 +08:00
|
|
|
}
|
2018-05-02 04:54:56 +08:00
|
|
|
}
|