Replace Redux + Redux-Saga with React Query (useMutation/useQuery) for server state and React Context for UI/form state across all modules: login, registration, forgot-password, reset-password, progressive- profiling, and common-components. Port of master commits0d709d15and93bd0f24, adapted for @openedx/frontend-base: - getSiteConfig() instead of getConfig() - useAppConfig() for per-app configuration - @tanstack/react-query as peerDependency (shell provides QueryClient) - CurrentAppProvider instead of AppProvider Also fixes EnvironmentTypes circular dependency in site.config.test.tsx by using string literal instead of enum import. Co-Authored-By: Jesus Balderrama <jesus.balderrama.wgu@gmail.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
85 lines
2.3 KiB
JSON
85 lines
2.3 KiB
JSON
{
|
|
"name": "@openedx/frontend-app-authn",
|
|
"version": "1.0.0-alpha.6",
|
|
"description": "Frontend authentication",
|
|
"engines": {
|
|
"node": "^24.12"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/openedx/frontend-app-authn.git"
|
|
},
|
|
"exports": {
|
|
".": "./dist/index.js",
|
|
"./app.scss": "./dist/app.scss"
|
|
},
|
|
"files": [
|
|
"/dist"
|
|
],
|
|
"browserslist": [
|
|
"extends @edx/browserslist-config"
|
|
],
|
|
"sideEffects": [
|
|
"*.css",
|
|
"*.scss"
|
|
],
|
|
"scripts": {
|
|
"build": "make build",
|
|
"clean": "make clean",
|
|
"dev": "PORT=1999 PUBLIC_PATH=/authn openedx dev",
|
|
"i18n_extract": "openedx formatjs extract",
|
|
"lint": "openedx lint .",
|
|
"lint:fix": "openedx lint --fix .",
|
|
"prepack": "npm run build",
|
|
"snapshot": "openedx test --updateSnapshot",
|
|
"test": "openedx test --coverage --passWithNoTests"
|
|
},
|
|
"author": "Open edX",
|
|
"license": "AGPL-3.0",
|
|
"homepage": "https://github.com/openedx/frontend-app-authn#readme",
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/openedx/frontend-app-authn/issues"
|
|
},
|
|
"dependencies": {
|
|
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.3",
|
|
"@edx/openedx-atlas": "^0.7.0",
|
|
"@fortawesome/fontawesome-svg-core": "^6.7.2",
|
|
"@fortawesome/free-brands-svg-icons": "^6.7.2",
|
|
"@fortawesome/free-solid-svg-icons": "^6.7.2",
|
|
"@fortawesome/react-fontawesome": "^0.2.2",
|
|
"classnames": "^2.5.1",
|
|
"fastest-levenshtein": "^1.0.16",
|
|
"form-urlencoded": "^6.1.5",
|
|
"i18n-iso-countries": "^7.13.0",
|
|
"prop-types": "^15.8.1",
|
|
"query-string": "^7.1.3",
|
|
"react-helmet": "^6.1.0",
|
|
"react-loading-skeleton": "^3.5.0",
|
|
"react-responsive": "^8.2.0",
|
|
"universal-cookie": "^8.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@edx/browserslist-config": "^1.5.0",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@types/jest": "^29.5.14",
|
|
"babel-plugin-formatjs": "10.5.38",
|
|
"eslint-plugin-import": "2.31.0",
|
|
"jest": "^29.7.0",
|
|
"react-test-renderer": "^18.3.1",
|
|
"ts-jest": "^29.4.0",
|
|
"tsc-alias": "^1.8.16"
|
|
},
|
|
"peerDependencies": {
|
|
"@openedx/frontend-base": "^1.0.0-alpha.14",
|
|
"@openedx/paragon": "^23",
|
|
"@tanstack/react-query": "^5",
|
|
"react": "^18",
|
|
"react-dom": "^18",
|
|
"react-router": "^6",
|
|
"react-router-dom": "^6"
|
|
}
|
|
}
|