360 lines
14 KiB
JSON
360 lines
14 KiB
JSON
{
|
|
"name": "canvas-lms",
|
|
"license": "AGPL-3.0",
|
|
"version": "0.0.0",
|
|
"engines": {
|
|
"node": ">=14.0.0",
|
|
"yarn": "^1.19.1"
|
|
},
|
|
"private": true,
|
|
"workspaces": {
|
|
"packages": [
|
|
"gems/canvas_i18nliner",
|
|
"gems/plugins/*",
|
|
"packages/*"
|
|
],
|
|
"nohoist": [
|
|
"**/tinymce",
|
|
"**/tinymce/**"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@instructure/canvas-rce-old": "4.1.5",
|
|
"@instructure/canvas-theme": "6",
|
|
"@instructure/debounce": "6",
|
|
"@instructure/js-utils": ">=1",
|
|
"@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",
|
|
"@instructure/ready": ">=1",
|
|
"@instructure/ui-a11y": "6",
|
|
"@instructure/ui-alerts": "6",
|
|
"@instructure/ui-avatar": "6",
|
|
"@instructure/ui-badge": "6",
|
|
"@instructure/ui-billboard": "6",
|
|
"@instructure/ui-breadcrumb": "6",
|
|
"@instructure/ui-buttons": "6",
|
|
"@instructure/ui-byline": "6",
|
|
"@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",
|
|
"@instructure/ui-img": "6",
|
|
"@instructure/ui-layout": "6",
|
|
"@instructure/ui-link": "6",
|
|
"@instructure/ui-list": "6",
|
|
"@instructure/ui-media-player": "^7",
|
|
"@instructure/ui-menu": "6",
|
|
"@instructure/ui-metric": "6",
|
|
"@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",
|
|
"@instructure/ui-portal": "6",
|
|
"@instructure/ui-progress": "6",
|
|
"@instructure/ui-radio-input": "6",
|
|
"@instructure/ui-rating": "6",
|
|
"@instructure/ui-react-utils": "6",
|
|
"@instructure/ui-responsive": "6",
|
|
"@instructure/ui-select": "6",
|
|
"@instructure/ui-simple-select": "7",
|
|
"@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-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.19.0 || ^0.18.0",
|
|
"axios-cache-adapter": "^2.4.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",
|
|
"confetti-js": "^0.0.17",
|
|
"create-react-class": "^15.6.3",
|
|
"d3": "3.5.17",
|
|
"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",
|
|
"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",
|
|
"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-immutable-proptypes": "^2.1.0",
|
|
"react-lazy-load": "^3.0.13",
|
|
"react-modal": "^3",
|
|
"react-redux": "^5.1.1",
|
|
"react-router-dom": "^5.2.0",
|
|
"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-rc2",
|
|
"use-debounce": "^3",
|
|
"use-media-set": "^1.1",
|
|
"uuid": "^3.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@apollo/react-testing": "^3.0.1",
|
|
"@babel/cli": "^7.0.0",
|
|
"@babel/core": "^7.0.0",
|
|
"@babel/parser": "^7",
|
|
"@babel/plugin-proposal-optional-chaining": "^7",
|
|
"@babel/plugin-transform-react-inline-elements": "^7.2.0",
|
|
"@instructure/browserslist-config-canvas-lms": ">=2",
|
|
"@instructure/ui-babel-preset": "6",
|
|
"@prettier/plugin-ruby": "^1.5.2",
|
|
"@sentry/webpack-plugin": "^1.5.2",
|
|
"@sheerun/mutationobserver-shim": "0.3.2",
|
|
"@testing-library/dom": "^7",
|
|
"@testing-library/jest-dom": "^5",
|
|
"@testing-library/react": "^11",
|
|
"@testing-library/react-hooks": "^5",
|
|
"@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",
|
|
"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",
|
|
"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",
|
|
"es-check": "^5",
|
|
"eslint": "^6",
|
|
"eslint-config-airbnb": "^18",
|
|
"eslint-config-prettier": "^6",
|
|
"eslint-plugin-babel": "^5",
|
|
"eslint-plugin-eslint-comments": "^3.0.1",
|
|
"eslint-plugin-import": "^2",
|
|
"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",
|
|
"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",
|
|
"mockdate": "^2.0.2",
|
|
"moment-timezone-data-webpack-plugin": "^1.0.3",
|
|
"moxios": "^0.4",
|
|
"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",
|
|
"sass-direction": "^1",
|
|
"script-loader": "^0.7",
|
|
"sinon": "^7",
|
|
"style-loader": "^0.23",
|
|
"stylelint": "^10",
|
|
"through2": "^3",
|
|
"tinymce": "^5",
|
|
"waait": "^1",
|
|
"webpack": "^4",
|
|
"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"
|
|
],
|
|
"jest-junit": {
|
|
"output": "./coverage-js/junit-reports/jest.xml"
|
|
},
|
|
"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",
|
|
"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 es8 ./public/dist/**/*.js",
|
|
"lint:staged": "lint-staged",
|
|
"lint:js:coffeescripts": "eslint ./app/coffeescripts/**/*.js",
|
|
"lint:js:jsx": "eslint ./app/jsx/**/*.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": "echo 'if you get any errors here, make sure you have ran `rake canvas:compile_assets` first' && NODE_ENV=production SKIP_SOURCEMAPS=1 node --max_old_space_size=8096 $(yarn bin)/webpack --json > stats-prod.json && NODE_OPTIONS=\"--max_old_space_size=8192\" npx webpack-bundle-analyzer stats-prod.json public/dist/webpack-production",
|
|
"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 --collect-logs --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 =s ../public/javascripts",
|
|
"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"
|
|
}
|
|
}
|