* fix(deps): regenerate package-lock.json Co-Authored-By: Claude Code <noreply@anthropic.com> * fix(deps): regenerate package-lock.json Moved @openedx/frontend-build from dependencies to devDependencies. Removed direct jest devDependency which was causing ts-jest hoisting issues. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(tests): use require() for MockedPluginSlot in jest.mock Jest hoists jest.mock() calls to the top of the file, which caused MockedPluginSlot to be undefined when the mock factory executed. Using require() inside the factory ensures it loads at runtime. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(types): handle nullable breakpoint types Paragon's breakpoint types now have optional minWidth/maxWidth properties. Added non-null assertions since these values are always defined in practice. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(tests): add IntlProvider to ContentIFrame tests Paragon's ModalDialog now uses useIntl() (openedx/paragon#3624), requiring an IntlProvider in the component ancestry. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(tests): await async operations in Course tests Fixed dangling waitFor blocks that weren't awaited, causing tests to not actually wait for async operations. Changed to properly use await with screen.findBy*() queries. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(tests): use dynamic imports in LearnerToolsSlot tests Jest hoists mock calls but ES imports run before the test body. Using dynamic imports in beforeEach ensures mocks are set up before modules are loaded. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Code <noreply@anthropic.com>
98 lines
3.3 KiB
JSON
98 lines
3.3 KiB
JSON
{
|
|
"name": "@edx/frontend-app-learning",
|
|
"version": "1.0.0-semantically-released",
|
|
"description": "Frontend learning application.",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/openedx/frontend-app-learning.git"
|
|
},
|
|
"browserslist": [
|
|
"extends @edx/browserslist-config"
|
|
],
|
|
"scripts": {
|
|
"build": "fedx-scripts webpack",
|
|
"bundlewatch": "bundlewatch",
|
|
"i18n_extract": "fedx-scripts formatjs extract",
|
|
"lint": "fedx-scripts eslint --ext .js --ext .jsx --ext .ts --ext .tsx .",
|
|
"lint:fix": "fedx-scripts eslint --fix --ext .js --ext .jsx --ext .ts --ext .tsx .",
|
|
"start": "fedx-scripts webpack-dev-server --progress",
|
|
"start:with-theme": "paragon install-theme && npm start && npm install",
|
|
"dev": "PUBLIC_PATH=/learning/ MFE_CONFIG_API_URL='http://localhost:8000/api/mfe_config/v1' fedx-scripts webpack-dev-server --progress --host apps.local.openedx.io",
|
|
"test": "NODE_ENV=test fedx-scripts jest --coverage --passWithNoTests",
|
|
"test:watch": "fedx-scripts jest --watch --passWithNoTests",
|
|
"types": "tsc --noEmit"
|
|
},
|
|
"author": "edX",
|
|
"license": "AGPL-3.0",
|
|
"homepage": "https://github.com/openedx/frontend-app-learning#readme",
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/openedx/frontend-app-learning/issues"
|
|
},
|
|
"dependencies": {
|
|
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
|
|
"@edx/browserslist-config": "1.5.0",
|
|
"@edx/frontend-component-footer": "^14.6.0",
|
|
"@edx/frontend-component-header": "^8.0.0",
|
|
"@edx/frontend-lib-learning-assistant": "^2.24.0",
|
|
"@edx/frontend-lib-special-exams": "^4.0.0",
|
|
"@edx/frontend-platform": "^8.4.0",
|
|
"@edx/openedx-atlas": "^0.7.0",
|
|
"@fortawesome/free-brands-svg-icons": "5.15.4",
|
|
"@fortawesome/free-regular-svg-icons": "5.15.4",
|
|
"@fortawesome/free-solid-svg-icons": "5.15.4",
|
|
"@fortawesome/react-fontawesome": "^0.1.4",
|
|
"@openedx/frontend-plugin-framework": "^1.7.0",
|
|
"@openedx/paragon": "^23.4.5",
|
|
"@popperjs/core": "2.11.8",
|
|
"@reduxjs/toolkit": "1.9.7",
|
|
"buffer": "^6.0.3",
|
|
"classnames": "2.5.1",
|
|
"copy-webpack-plugin": "^12.0.0",
|
|
"joi": "^17.11.0",
|
|
"js-cookie": "3.0.5",
|
|
"lodash": "^4.17.21",
|
|
"lodash.camelcase": "4.3.0",
|
|
"postcss-loader": "^8.1.1",
|
|
"prop-types": "15.8.1",
|
|
"query-string": "^7.1.3",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-helmet": "6.1.0",
|
|
"react-redux": "7.2.9",
|
|
"react-router": "6.15.0",
|
|
"react-router-dom": "6.15.0",
|
|
"react-share": "4.4.1",
|
|
"redux": "4.2.1",
|
|
"reselect": "4.1.8",
|
|
"sass": "^1.79.3",
|
|
"sass-loader": "^16.0.2",
|
|
"source-map-loader": "^5.0.0",
|
|
"truncate-html": "1.0.4"
|
|
},
|
|
"devDependencies": {
|
|
"@openedx/frontend-build": "^14.6.2",
|
|
"@pact-foundation/pact": "^13.0.0",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.2.0",
|
|
"@testing-library/user-event": "14.6.1",
|
|
"axios-mock-adapter": "2.1.0",
|
|
"bundlewatch": "^0.4.0",
|
|
"eslint-import-resolver-webpack": "^0.13.9",
|
|
"jest-console-group-reporter": "^1.1.1",
|
|
"jest-when": "^3.6.0",
|
|
"rosie": "2.1.1"
|
|
},
|
|
"bundlewatch": {
|
|
"files": [
|
|
{
|
|
"path": "dist/*.js",
|
|
"maxSize": "1450kB"
|
|
}
|
|
],
|
|
"normalizeFilenames": "^.+?(\\..+?)\\.\\w+$"
|
|
}
|
|
}
|