canvas-lms/package.json

480 lines
18 KiB
JSON

{
"name": "canvas-lms",
"license": "AGPL-3.0",
"version": "0.0.0",
"engines": {
"node": ">=18.0.0",
"yarn": "^1.19.1"
},
"private": true,
"workspaces": {
"packages": [
"gems/plugins/*",
"packages/*",
"ui/engine",
"ui/shared/*"
]
},
"dependencies": {
"@apollo/client": "^3.4.16",
"@instructure/brandable_css": "^3",
"@instructure/canvas-media": "*",
"@instructure/debounce": "^8",
"@instructure/emotion": "^8",
"@instructure/media-capture": "^9.0.0",
"@instructure/media-capture-new": "npm:@instructure/media-capture@^10",
"@instructure/outcomes-ui": "^3",
"@instructure/react-crop": "^5.0.1",
"@instructure/reactour": "https://github.com/instructure/reactour#b908434fe544703e26bc67c67c4111252c401f92",
"@instructure/ready": "*",
"@instructure/ui-a11y-content": "^8",
"@instructure/ui-a11y-utils": "^8",
"@instructure/ui-alerts": "^8",
"@instructure/ui-avatar": "^8",
"@instructure/ui-badge": "^8",
"@instructure/ui-billboard": "^8",
"@instructure/ui-breadcrumb": "^8",
"@instructure/ui-buttons": "^8",
"@instructure/ui-calendar": "^8",
"@instructure/ui-checkbox": "^8",
"@instructure/ui-date-input": "^8",
"@instructure/ui-date-time-input": "^8",
"@instructure/ui-decorator": "^8",
"@instructure/ui-dialog": "^8",
"@instructure/ui-drawer-layout": "^8.55",
"@instructure/ui-editable": "^8",
"@instructure/ui-file-drop": "^8",
"@instructure/ui-flex": "^8",
"@instructure/ui-focusable": "^8",
"@instructure/ui-form-field": "^8",
"@instructure/ui-grid": "^8",
"@instructure/ui-heading": "^8",
"@instructure/ui-i18n": "^8",
"@instructure/ui-icons": "^8",
"@instructure/ui-img": "^8",
"@instructure/ui-link": "^8",
"@instructure/ui-list": "^8",
"@instructure/ui-media-player": "^9.0.0",
"@instructure/ui-menu": "^8",
"@instructure/ui-metric": "^8",
"@instructure/ui-modal": "^8",
"@instructure/ui-motion": "^8",
"@instructure/ui-navigation": "^8",
"@instructure/ui-number-input": "^8",
"@instructure/ui-overlays": "^8",
"@instructure/ui-pagination": "^8",
"@instructure/ui-pill": "^8",
"@instructure/ui-portal": "^8",
"@instructure/ui-progress": "^8",
"@instructure/ui-radio-input": "^8",
"@instructure/ui-rating": "^8",
"@instructure/ui-react-utils": "^8",
"@instructure/ui-responsive": "^8",
"@instructure/ui-select": "^8",
"@instructure/ui-simple-select": "^8",
"@instructure/ui-spinner": "^8",
"@instructure/ui-svg-images": "^8",
"@instructure/ui-table": "^8",
"@instructure/ui-tabs": "^8",
"@instructure/ui-tag": "^8",
"@instructure/ui-text": "^8",
"@instructure/ui-text-area": "^8",
"@instructure/ui-text-input": "^8",
"@instructure/ui-themes": "^8",
"@instructure/ui-time-select": "^8",
"@instructure/ui-toggle-details": "^8",
"@instructure/ui-tooltip": "^8",
"@instructure/ui-top-nav-bar": "^8",
"@instructure/ui-tray": "^8",
"@instructure/ui-tree-browser": "^8",
"@instructure/ui-view": "^8",
"@instructure/uid": "^8",
"@instructure/updown": "^1.3",
"@microsoft/immersive-reader-sdk": "^1.1.0",
"@peculiar/asn1-schema": "^2.3.6",
"@peculiar/x509": "^1.9.3",
"@popperjs/core": "^2.9.2",
"@rspack/cli": "^0.5.4",
"@rspack/core": "^0.5.4",
"@rspack/plugin-react-refresh": "^0.5.4",
"@sentry/cli": "^2.21.5",
"@sentry/react": "^7.81.0",
"@swc/core": "1.5.0",
"@swc/helpers": "^0.5.6",
"@swc/jest": "^0.2.36",
"@tanstack/query-sync-storage-persister": "^4.36.1",
"@tanstack/react-query": "^4.36.1",
"@tanstack/react-query-persist-client": "^4.36.1",
"@types/b-spline": "^2.0.4",
"@types/dagre": "^0.7.52",
"@types/jquery.cookie": "^1.4.32",
"@types/react-dnd": "2.0.36",
"@types/twitter-text": "^3.1.2",
"@types/uuid": "^9.0.0",
"@vitest/coverage-v8": "^1.0.4",
"apollo-cache": "^1.3.2",
"apollo-cache-inmemory": "^1.6.3",
"apollo-cache-persist": "^0.1.1",
"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",
"b-spline": "^2.0.2",
"backbone": "1.1.1",
"big.js": "^6.2.1",
"browserslist": "^4.22.2",
"canvas_offline_course_viewer": "https://github.com/instructure/canvas_offline_course_viewer.git#1.2.0",
"chart.js": "^3.9.1",
"chartjs-adapter-moment": "^1.0.0",
"classnames": "^2.2.5",
"color-slicer": "0.8.0",
"coverage-istanbul-loader": "^3.0.5",
"create-react-class": "^15.6.3",
"cross-fetch": "^4.0.0",
"crypto-js": "^4.1.1",
"d3": "3.5.17",
"dagre": "^0.8.5",
"emoji-mart": "^3.0.1",
"export-from-json": "^1.6.0",
"final-form": "^4.20.2",
"formdata-polyfill": "^3.0.9",
"fullcalendar": "3.10.5",
"graphiql": "1.7.2",
"graphiql-explorer": "^0.4.2",
"graphql": "^16",
"graphql-request": "^6.1.0",
"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",
"invariant": "^2.2.2",
"is-valid-domain": "^0.0.11",
"jquery-migrate": "3.4.1",
"jquery-ui-touch-punch": "^0.2.3",
"jquery.cookie": "^1.4.1",
"jquery.elastic": "1.0.0",
"jquery3": "npm:jquery@^3.7.1",
"localforage": "^1.10.0",
"location-origin": "^1.1.4",
"lodash": "^4.17.21",
"md5": "^2.2.1",
"mediaelement": "https://github.com/instructure/mediaelement.git#master",
"mime": "^4.0.1",
"minimatch": "~3.0.4",
"moment": "^2.29.4",
"moment-timezone": "^0.5.45",
"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.13.1",
"react-apollo": "~3.0.1",
"react-beautiful-dnd": "^13.1.1",
"react-dnd": "6.0",
"react-dnd-html5-backend": "6.0",
"react-dom": "^16.13.1",
"react-final-form": "^6.5.3",
"react-identicons": "^1.2.5",
"react-immutable-proptypes": "^2.1.0",
"react-lazy-load": "^4.0.1",
"react-modal": "^3",
"react-popper": "^2.2.5",
"react-redux": "^5.1.1",
"react-router-dom": "^6.16.0",
"react-tokeninput": "^2.5.0",
"react-transition-group": "^1",
"react-use": "^17.3.1",
"redux": "^4.0.1",
"redux-actions": "^2.6.4",
"redux-promise": "^0.6",
"redux-saga": "^0.16.0",
"redux-thunk": "^3.1.0",
"reselect": "^4.0.0",
"rspack-manifest-plugin": "^5.0.0-alpha0",
"shallow-equal": "^1.2.0",
"spin.js": "2.3.2",
"swc-loader": "^0.2.6",
"swc-plugin-coverage-instrument": "^0.0.21",
"swfobject": "^2.2.1",
"tablesorter": "^2.28.5",
"timezone": "npm:@instructure/timezone@1.0.30",
"tinycolor2": "1.4.1",
"twitter-text": "^3.1.0",
"underscore": "^1.13.6",
"use-debounce": "^3",
"use-media-set": "^1.1",
"uuid": "^3.2.1",
"velocity-animate": "^1.5.0",
"webpack-retry-chunk-load-plugin": "^3.1.1",
"yarn-deduplicate": "^3.0.1",
"zod": "^3.22.4",
"zustand": "3.7.2"
},
"devDependencies": {
"@apollo/react-common": "~3.0.1",
"@apollo/react-components": "~3.0.1",
"@apollo/react-hoc": "~3.0.1",
"@apollo/react-hooks": "~3.0.1",
"@apollo/react-ssr": "~3.0.1",
"@apollo/react-testing": "~3.0.1",
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
"@babel/parser": "^7",
"@babel/plugin-proposal-class-properties": "^7",
"@babel/plugin-proposal-optional-chaining": "^7",
"@babel/plugin-transform-modules-commonjs": "^7",
"@babel/plugin-transform-react-constant-elements": "^7",
"@babel/plugin-transform-react-inline-elements": "^7",
"@babel/plugin-transform-runtime": "^7",
"@babel/preset-env": "^7",
"@babel/preset-react": "^7",
"@babel/preset-typescript": "^7",
"@graphql-tools/mock": "^9",
"@graphql-tools/schema": "^9",
"@instructure/browserslist-config-canvas-lms": ">=2",
"@instructure/i18nliner": "^3",
"@instructure/i18nliner-canvas": "^1.3",
"@instructure/i18nliner-handlebars": "^2",
"@instructure/i18nliner-runtime": "^1.0.2",
"@prettier/plugin-ruby": "^1.5.2",
"@sheerun/mutationobserver-shim": "0.3.2",
"@testing-library/dom": "^8",
"@testing-library/jest-dom": "^5",
"@testing-library/react": "^12",
"@testing-library/react-hooks": "^5",
"@testing-library/user-event": "^14",
"@types/big.js": "^6.2.2",
"@types/enzyme": "^3.10.16",
"@types/enzyme-adapter-react-16": "^1.0.9",
"@types/jquery": "^3.5.6",
"@types/jqueryui": "^1.12.16",
"@types/lodash": "^4.14.72",
"@types/parse-link-header": "^1.0.0",
"@types/qs": "^6.9.8",
"@types/react": "^17.0.19",
"@types/react-beautiful-dnd": "^13.1.8",
"@types/react-dom": "^17.0.9",
"@typescript-eslint/eslint-plugin": "^6.17.0",
"@typescript-eslint/parser": "^5.62.0",
"@vitest/ui": "^1.0.4",
"@yarnpkg/lockfile": "^1.0.2",
"array-flat-polyfill": "^1.0.1",
"axe-core": "~2.1.7",
"babel-eslint": "^10",
"babel-jest": "^28",
"babel-loader": "^9.1.3",
"babel-plugin-transform-react-remove-prop-types": "^0.4",
"babel-plugin-typescript-to-proptypes": "^2.1.0",
"chai-assert-change": "^2.0.0",
"change-case": "3.0.1",
"concurrently": "^4",
"core-js": "^3.20.3",
"core-js-builder": "^3",
"css-loader": "^3",
"dependency-cruiser": "^16.3.1",
"ember-template-compiler": "^1.8.0",
"enzyme": "^3",
"enzyme-adapter-react-16": "^1.15.7",
"enzyme-to-json": "^3.3.4",
"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",
"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.32.2",
"eslint-plugin-react-hooks": "^1",
"exports-loader": "^0.7",
"fast-glob": "^3.2.4",
"fetch-mock": "^9",
"file-loader": "^4",
"find-up": "^5.0.0",
"gglobby": "0.0.3",
"glob": "^7",
"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",
"happy-dom": "^12.10.3",
"imports-loader": "^0.8",
"istanbul-merge": "^1.1.1",
"jest": "^29.7.0",
"jest-canvas-mock": "^2",
"jest-config": "^28",
"jest-environment-jsdom": "^29.7.0",
"jest-fetch-mock": "^3.0.3",
"jest-junit": "^7",
"jest-localstorage-mock": "^2",
"jest-moxios-utils": "^1",
"jsdom-global": "^3.0.2",
"json-loader": "^0.5.7",
"karma": "^6.4.2",
"karma-chrome-launcher": "^2",
"karma-coverage-istanbul-reporter": "^2",
"karma-junit-reporter": "^1",
"karma-qunit": "~1.2.1",
"karma-selenium-grid-launcher": "^0.3.0",
"karma-sourcemap-loader": "^0.3",
"karma-spec-reporter": "^0.0.32",
"karma-verbose-reporter": "^0.0.6",
"karma-webpack": "^5",
"lint-staged": "^9",
"loader-utils": "^1",
"merge-stream": "^2",
"micromatch": "^4.0.4",
"mkdirp": "^1.0.4",
"mockdate": "^2.0.2",
"moment-timezone-data-webpack-plugin": "^1.5.1",
"moxios": "^0.4",
"msw": "^2.0.12",
"nyc": "^13",
"patch-package": "^8.0.0",
"postinstall-postinstall": "^2.1.0",
"prettier": "^2.8.8",
"qunitjs": "^1.23.0",
"react-moment-proptypes": "^1.4.0",
"react-test-renderer": "^16",
"redux-devtools-extension": "^2.13.2",
"redux-logger": "^3.0.6",
"sass-direction": "^1",
"script-loader": "^0.7",
"sinon": "^9.2.4",
"stream-browserify": "^3",
"style-loader": "^0.23",
"stylelint": "^10",
"terser-webpack-plugin": "5.3.10",
"through2": "^3",
"timezone-mock": "^1.3.1",
"tinymce": "^5",
"ts-node": "^10.9.1",
"typescript": "^5.3.2",
"vitest": "^1.2.1",
"waait": "^1",
"webpack": "^5",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4",
"webpack-manifest-plugin": "^5",
"wrap-ansi": "^7.0.0",
"wsrun": "^5",
"xsslint": "instructure/xsslint#babel7",
"yaml-loader": "^0.5"
},
"optionalDependencies": {
"@storybook/addon-actions": "^6.5.9",
"@storybook/addon-essentials": "^6.5.9",
"@storybook/addon-links": "^6.5.9",
"@storybook/addon-storyshots": "^6.5.9",
"@storybook/builder-webpack5": "^6.5.9",
"@storybook/manager-webpack5": "^6.5.9",
"@storybook/react": "^6.5.9"
},
"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:vitest": "vitest run --color",
"test:vitest:watch": "vitest watch --color",
"test:vitest:coverage": "vitest run --color --coverage",
"test:jest": "jest --color",
"test:jest:coverage": "NODE_OPTIONS=\"--max_old_space_size=5120\" jest --color --coverage --testTimeout=5000",
"test:jest:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
"test:jest:watch": "jest --color --watch",
"test:jest:build": "if [ \"$COVERAGE\" = \"1\" ]; then yarn test:jest:coverage --maxWorkers=3 --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL; else yarn test:jest --maxWorkers=3 --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL; fi",
"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 ${KARMA_BROWSER:-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 ${KARMA_BROWSER:-ChromeHeadlessNoSandbox}",
"test:packages": "if [ \"$COVERAGE\" = \"1\" ]; then yarn workspace-run-serial test:coverage; else yarn workspace-run-serial test; fi",
"test:packages:parallel": "if [ \"$COVERAGE\" = \"1\" ]; then yarn workspace-run test:coverage; else yarn workspace-run 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:compressed": "SASS_STYLE=compressed 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",
"check:js": "tsc --checkJs -p tsconfig.json",
"check:ts": "tsc -p tsconfig.json",
"check:ts:watch": "tsc --watch -p tsconfig.json",
"lint:packages": "eslint packages --cache --ext '.js,.jsx,.ts,.tsx'",
"lint:staged": "lint-staged",
"lint:style": "stylelint './app/**/*.{css,scss}' './packages/**/*.{css,scss}'",
"lint:xss": "node ./script/xsslint.js",
"lint": "eslint ui --cache --ext '.js,.jsx,.ts,.tsx'",
"postinstall": "yarn dedupe-yarn; patch-package; test -n \"$DISABLE_POSTINSTALL\" || (yarn build:packages && ./script/install_hooks)",
"webpack:analyze": "SKIP_SOURCEMAPS=1 WEBPACK_PEDANTIC=0 rspack --analyze",
"webpack": "gulp rev 1> /dev/null & NODE_ENV=development rspack --watch=true",
"webpack-development": "NODE_ENV=development rspack build",
"webpack-production": "NODE_ENV=production rspack build",
"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": "yarn 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": {
"graphael": "https://github.com/instructure/graphael.git",
"@apollo/react-testing": "3.0.1",
"@apollo/react-common": "3.0.1",
"@apollo/react-components": "3.0.1",
"@apollo/react-hoc": "3.0.1",
"@apollo/react-hooks": "3.0.1",
"@apollo/react-ssr": "3.0.1",
"@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.cd77847.0",
"@instructure/emotion": "8.51.0",
"@instructure/ui-a11y-content": "8.51.0",
"@instructure/ui-alerts": "8.51.0",
"@instructure/ui-buttons": "8.51.0",
"@instructure/ui-color-utils": "8.51.0",
"@instructure/ui-dom-utils": "8.51.0",
"@instructure/ui-drilldown": "8.51.0",
"@instructure/ui-grid": "8.51.0",
"@instructure/ui-icons": "8.51.0",
"@instructure/ui-menu": "8.51.0",
"@instructure/ui-responsive": "8.51.0",
"@instructure/ui-simple-select": "8.51.0",
"@instructure/ui-spinner": "8.51.0",
"@instructure/ui-text": "8.51.0",
"@instructure/ui-text-input": "8.51.0",
"@instructure/ui-truncate-text": "8.51.0",
"@instructure/ui-view": "8.51.0",
"@instructure/uid": "8.51.0"
}
}