studiokit-scaffolding-js 7.1.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +137 -137
  3. package/lib/components/ActionList.js +1 -1
  4. package/lib/components/AlertDialog.js +1 -1
  5. package/lib/components/AlertWithIcon.js +1 -1
  6. package/lib/components/ConnectedModal.js +3 -3
  7. package/lib/components/Dropdowns/GroupsDropdown.js +1 -1
  8. package/lib/components/Dropdowns/ManagedNavDropdown.js +4 -4
  9. package/lib/components/Dropdowns/UserDropdown.js +1 -1
  10. package/lib/components/Dropdowns/index.js +1 -1
  11. package/lib/components/EntityOwnerList.js +1 -1
  12. package/lib/components/Error.js +1 -1
  13. package/lib/components/ErrorBoundary.js +1 -1
  14. package/lib/components/ErrorMessage.js +1 -1
  15. package/lib/components/Forms/DateField.js +1 -1
  16. package/lib/components/Forms/TimeField.js +1 -1
  17. package/lib/components/Forms/index.js +1 -1
  18. package/lib/components/Groups/CreateEditCopySaveButtons.js +1 -1
  19. package/lib/components/Groups/ExternalGroups/Attach.js +1 -1
  20. package/lib/components/Groups/ExternalGroups/Table.js +1 -1
  21. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -1
  22. package/lib/components/Groups/RosterSyncInfo.js +1 -1
  23. package/lib/components/HOC/AccessibleAppComponent.js +6 -6
  24. package/lib/components/HOC/ActivityRequiredComponent.js +50 -50
  25. package/lib/components/HOC/AsyncComponent.js +1 -1
  26. package/lib/components/HOC/AuthenticatedComponent.js +1 -1
  27. package/lib/components/HOC/CollectionComponent.js +11 -11
  28. package/lib/components/HOC/CollectionFirstItemComponent.js +4 -4
  29. package/lib/components/HOC/CollectionItemComponent.js +11 -11
  30. package/lib/components/HOC/ConnectedModalComponent.js +15 -15
  31. package/lib/components/HOC/DataDependentComponent.js +1 -1
  32. package/lib/components/HOC/EntityComponent.js +12 -12
  33. package/lib/components/HOC/FullscreenModalComponent.js +24 -24
  34. package/lib/components/HOC/GroupActivityRequiredComponent.js +19 -19
  35. package/lib/components/HOC/GuidComponent.js +5 -5
  36. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +7 -7
  37. package/lib/components/HOC/ModelErrorRedirectComponent.js +12 -12
  38. package/lib/components/HOC/SearchPersistorComponent.js +43 -43
  39. package/lib/components/HOC/UnauthenticatedComponent.js +1 -1
  40. package/lib/components/HOC/UserComponent.js +1 -1
  41. package/lib/components/Icons/IconAlphaList.js +1 -1
  42. package/lib/components/Icons/IconExternalUser.js +1 -1
  43. package/lib/components/Icons/IconImpersonation.js +1 -1
  44. package/lib/components/Icons/IconStopImpersonating.js +1 -1
  45. package/lib/components/Icons/IconTable.js +1 -1
  46. package/lib/components/Icons/IconTableDeleteCol.js +1 -1
  47. package/lib/components/Icons/IconTableDeleteRow.js +1 -1
  48. package/lib/components/Icons/IconTableInsertCol.js +1 -1
  49. package/lib/components/Icons/IconTableInsertRow.js +1 -1
  50. package/lib/components/Impersonation/Button.js +1 -1
  51. package/lib/components/Impersonation/Link.js +1 -1
  52. package/lib/components/Impersonation/UserDetail.css +22 -22
  53. package/lib/components/Impersonation/UserDetail.js +3 -3
  54. package/lib/components/Loading.js +1 -1
  55. package/lib/components/LockDownBrowser/Check.js +1 -1
  56. package/lib/components/LockDownBrowser/ExitButton.js +1 -1
  57. package/lib/components/LockDownBrowser/Launch.js +1 -1
  58. package/lib/components/Lti/Confirm.js +1 -1
  59. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +1 -1
  60. package/lib/components/Lti/Launch.js +1 -1
  61. package/lib/components/Lti/LaunchGroup.js +1 -1
  62. package/lib/components/ManageTable.js +1 -1
  63. package/lib/components/ManageTableNoDataComponent.js +1 -1
  64. package/lib/components/NewVersionAlert.js +1 -1
  65. package/lib/components/NotFound.js +1 -1
  66. package/lib/components/Notifications.js +1 -1
  67. package/lib/components/PaginationNextButton.js +1 -1
  68. package/lib/components/PaginationPreviousButton.js +1 -1
  69. package/lib/components/Quill/CustomToolbar.js +1 -1
  70. package/lib/components/Quill/Formats/Image.js +5 -5
  71. package/lib/components/Quill/Formats/List.js +3 -3
  72. package/lib/components/Quill/Formats/Video.js +3 -3
  73. package/lib/components/Quill/ImageDropModule.js +17 -17
  74. package/lib/components/Quill/ImageWarning.js +1 -1
  75. package/lib/components/Quill/ImageWithAltTextModal.js +1 -1
  76. package/lib/components/Quill/Specs/CustomImageSpec.js +7 -7
  77. package/lib/components/Quill/Specs/CustomVideoSpec.js +9 -9
  78. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +8 -8
  79. package/lib/components/Quill/TableModule/Blots/TableBlot.js +1 -1
  80. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +1 -1
  81. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +1 -1
  82. package/lib/components/Quill/TableModule/Blots/TableContainer.js +1 -1
  83. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +1 -1
  84. package/lib/components/Quill/TableModule/constants.js +1 -1
  85. package/lib/components/Quill/TableModule/index.css +171 -171
  86. package/lib/components/Quill/TableModule/index.js +1 -1
  87. package/lib/components/Quill/TableModule/utils.js +1 -1
  88. package/lib/components/Quill/accessibilityFix.js +14 -14
  89. package/lib/components/Quill/index.js +1 -1
  90. package/lib/components/RefreshIndicator/Bordered.js +1 -1
  91. package/lib/components/RefreshIndicator/Inline.js +1 -1
  92. package/lib/components/RefreshIndicator/index.js +1 -1
  93. package/lib/components/SearchControls.js +1 -1
  94. package/lib/components/SentryRoute.js +1 -1
  95. package/lib/components/Tables/RoleFilter.js +1 -1
  96. package/lib/components/Tables/TextFilter.js +1 -1
  97. package/lib/components/UserRoles/Add.js +1 -1
  98. package/lib/components/UserRoles/Context.js +4 -4
  99. package/lib/components/UserRoles/RoleCell.js +4 -3
  100. package/lib/components/UserRoles/Select.js +16 -5
  101. package/lib/components/UserRoles/Table.js +1 -1
  102. package/lib/components/UserRoles/index.js +3 -3
  103. package/lib/config/eslint/index.js +1 -1
  104. package/lib/config/eslint/lib/order.js +1 -1
  105. package/lib/config/eslint/lib/prettier.js +1 -1
  106. package/lib/config/eslint/lib/typescript.js +1 -1
  107. package/lib/config/eslint/react.js +1 -1
  108. package/lib/constants/baseActivity.js +1 -1
  109. package/lib/constants/baseRole.js +1 -1
  110. package/lib/constants/configuration.js +1 -1
  111. package/lib/constants/externalProviderType.js +1 -1
  112. package/lib/constants/fetchErrorData.js +1 -1
  113. package/lib/constants/index.js +1 -1
  114. package/lib/constants/lockDownBrowser.js +1 -1
  115. package/lib/constants/mockData.js +3 -3
  116. package/lib/constants/modelStatus.js +1 -1
  117. package/lib/constants/notificationType.js +1 -1
  118. package/lib/constants/operatingSystem.js +1 -1
  119. package/lib/constants/shard.js +1 -1
  120. package/lib/constants/table.js +1 -1
  121. package/lib/constants/tier.js +1 -1
  122. package/lib/constants/userRole.js +1 -1
  123. package/lib/css/base/_base.css +98 -98
  124. package/lib/css/base/_typography.css +130 -130
  125. package/lib/css/components/_alert.css +86 -86
  126. package/lib/css/components/_bootstrap-grid.css +28 -28
  127. package/lib/css/components/_buttons.css +397 -397
  128. package/lib/css/components/_forms.css +101 -101
  129. package/lib/css/components/_menu.css +56 -56
  130. package/lib/css/components/_modals.css +46 -46
  131. package/lib/css/components/_quill.css +315 -315
  132. package/lib/css/components/_tables.css +497 -497
  133. package/lib/css/components/_tags.css +12 -12
  134. package/lib/css/index-with-variables.css +15 -15
  135. package/lib/css/index.css +14 -14
  136. package/lib/css/utils/_border.css +463 -463
  137. package/lib/css/utils/_color.css +317 -317
  138. package/lib/css/utils/_display.css +305 -305
  139. package/lib/css/utils/_general.css +48 -48
  140. package/lib/css/utils/_icon.css +16 -16
  141. package/lib/css/utils/_text.css +25 -25
  142. package/lib/css/utils/_width.css +60 -60
  143. package/lib/css/variables.css +84 -84
  144. package/lib/endpointMappings.js +1 -1
  145. package/lib/hooks/useCollection.js +1 -1
  146. package/lib/hooks/useCollectionConfiguration.js +7 -7
  147. package/lib/hooks/useCollectionItem.js +1 -1
  148. package/lib/hooks/useEventCalback.js +13 -13
  149. package/lib/hooks/useGuid.js +3 -3
  150. package/lib/hooks/usePrevious.js +23 -23
  151. package/lib/index.js +1 -1
  152. package/lib/redux/actionCreator.js +1 -1
  153. package/lib/redux/actions/AuthAction.js +7 -7
  154. package/lib/redux/actions/ModalAction.js +1 -1
  155. package/lib/redux/actions/ModelAction.js +17 -17
  156. package/lib/redux/actions/NotificationAction.js +1 -1
  157. package/lib/redux/actions/SearchAction.js +1 -1
  158. package/lib/redux/actions/index.js +1 -1
  159. package/lib/redux/configureReducers.js +7 -7
  160. package/lib/redux/configureStore.js +1 -1
  161. package/lib/redux/helpers.js +1 -1
  162. package/lib/redux/reducers/authReducer.js +3 -3
  163. package/lib/redux/reducers/index.js +1 -1
  164. package/lib/redux/reducers/modalsReducer.js +1 -1
  165. package/lib/redux/reducers/modelsReducer.js +48 -48
  166. package/lib/redux/reducers/notificationsReducer.js +1 -1
  167. package/lib/redux/reducers/searchReducer.js +9 -9
  168. package/lib/redux/sagas/appInsightsSaga.js +1 -1
  169. package/lib/redux/sagas/authSaga.js +1 -1
  170. package/lib/redux/sagas/caliperSaga.js +16 -16
  171. package/lib/redux/sagas/clockOffsetSaga.js +9 -9
  172. package/lib/redux/sagas/configurationSaga.js +1 -1
  173. package/lib/redux/sagas/downtimeApiErrorSaga.js +1 -1
  174. package/lib/redux/sagas/errorSaga.js +1 -1
  175. package/lib/redux/sagas/googleAnalyticsSaga.js +1 -1
  176. package/lib/redux/sagas/identityProviderSaga.js +1 -1
  177. package/lib/redux/sagas/initialDataLoadSaga.js +1 -1
  178. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +1 -1
  179. package/lib/redux/sagas/modelFetchSaga.js +49 -49
  180. package/lib/redux/sagas/noStoreSaga.js +1 -1
  181. package/lib/redux/sagas/postLoginDataSaga.js +6 -6
  182. package/lib/redux/sagas/postLoginRedirectSaga.js +4 -4
  183. package/lib/redux/sagas/rootSaga.js +1 -1
  184. package/lib/redux/sagas/sentrySaga.js +1 -1
  185. package/lib/redux/sagas/userIdSaga.js +1 -1
  186. package/lib/services/codeProviderService.js +1 -1
  187. package/lib/services/dateService.js +3 -3
  188. package/lib/services/documentService.js +4 -4
  189. package/lib/services/fetchService.js +25 -25
  190. package/lib/services/persistenceService.js +1 -1
  191. package/lib/services/ticketProviderService.js +1 -1
  192. package/lib/services/tokenPersistenceService.js +1 -1
  193. package/lib/services/windowService.js +1 -1
  194. package/lib/startup.js +18 -18
  195. package/lib/types/AppConfiguration.js +1 -1
  196. package/lib/types/Artifact.js +1 -1
  197. package/lib/types/BaseReduxState.js +1 -1
  198. package/lib/types/Client.js +1 -1
  199. package/lib/types/Collection.js +1 -1
  200. package/lib/types/Configuration.js +1 -1
  201. package/lib/types/DeepLinkingResponseRequest.js +1 -1
  202. package/lib/types/DeletableModel.js +1 -1
  203. package/lib/types/Event.js +1 -1
  204. package/lib/types/ExternalGroup.js +1 -1
  205. package/lib/types/ExternalProvider.js +1 -1
  206. package/lib/types/ExternalTerm.js +1 -1
  207. package/lib/types/Group.js +1 -1
  208. package/lib/types/IdentityProvider.js +1 -1
  209. package/lib/types/LtiLaunch.js +1 -1
  210. package/lib/types/NameOnlyEntity.js +1 -1
  211. package/lib/types/Notification.js +1 -1
  212. package/lib/types/OptionalRecord.js +1 -1
  213. package/lib/types/OwnerSchedule.js +1 -1
  214. package/lib/types/PropertyOfType.js +1 -1
  215. package/lib/types/Quill.js +1 -1
  216. package/lib/types/RoleDescription.js +1 -1
  217. package/lib/types/Search.js +1 -1
  218. package/lib/types/SimpleLocation.js +1 -1
  219. package/lib/types/UniTime.js +1 -1
  220. package/lib/types/User.js +1 -1
  221. package/lib/types/UserRole.js +1 -1
  222. package/lib/types/auth/AuthState.js +1 -1
  223. package/lib/types/auth/CasV1LoginRequestBody.js +1 -1
  224. package/lib/types/auth/ClientCredentials.js +1 -1
  225. package/lib/types/auth/CodeProviderService.js +1 -1
  226. package/lib/types/auth/LocalLoginRequestBody.js +1 -1
  227. package/lib/types/auth/TicketProviderService.js +1 -1
  228. package/lib/types/auth/TokenPersistenceService.js +1 -1
  229. package/lib/types/auth/index.js +1 -1
  230. package/lib/types/externals.d.js +1 -1
  231. package/lib/types/index.js +1 -1
  232. package/lib/types/net/EndpointConfig.js +1 -1
  233. package/lib/types/net/EndpointMapping.js +1 -1
  234. package/lib/types/net/EndpointMappings.js +1 -1
  235. package/lib/types/net/ErrorHandler.js +1 -1
  236. package/lib/types/net/FetchConfig.js +1 -1
  237. package/lib/types/net/FetchErrorData.js +1 -1
  238. package/lib/types/net/FetchResult.js +1 -1
  239. package/lib/types/net/HTTPMethod.js +1 -1
  240. package/lib/types/net/HTTPStatusCode.js +1 -1
  241. package/lib/types/net/Metadata.js +1 -1
  242. package/lib/types/net/Model.js +1 -1
  243. package/lib/types/net/ModelCollection.js +1 -1
  244. package/lib/types/net/ModelsState.js +1 -1
  245. package/lib/types/net/OAuthToken.js +1 -1
  246. package/lib/types/net/OAuthTokenOrNull.js +1 -1
  247. package/lib/types/net/TokenAccessFunction.js +1 -1
  248. package/lib/types/net/index.js +1 -1
  249. package/lib/utils/baseActivity.js +87 -87
  250. package/lib/utils/baseRole.js +1 -1
  251. package/lib/utils/collection.js +20 -20
  252. package/lib/utils/cookies.js +1 -1
  253. package/lib/utils/date.js +111 -111
  254. package/lib/utils/dom.js +42 -42
  255. package/lib/utils/domainIdentifier.js +1 -1
  256. package/lib/utils/entityUserRole.js +1 -1
  257. package/lib/utils/error.js +1 -1
  258. package/lib/utils/events.js +4 -4
  259. package/lib/utils/externalGroup.js +1 -1
  260. package/lib/utils/externalProviders.js +1 -1
  261. package/lib/utils/externalTerms.js +1 -1
  262. package/lib/utils/fetch.js +10 -10
  263. package/lib/utils/group.js +1 -1
  264. package/lib/utils/groupDates.js +1 -1
  265. package/lib/utils/groupRoles.js +1 -1
  266. package/lib/utils/lockDownBrowser.js +1 -1
  267. package/lib/utils/logger.js +1 -1
  268. package/lib/utils/lti.js +1 -1
  269. package/lib/utils/model.js +5 -5
  270. package/lib/utils/number.js +11 -11
  271. package/lib/utils/promise.js +1 -1
  272. package/lib/utils/quill.js +16 -16
  273. package/lib/utils/route.js +1 -1
  274. package/lib/utils/search.js +1 -1
  275. package/lib/utils/shard.js +1 -1
  276. package/lib/utils/sort.js +1 -1
  277. package/lib/utils/string.js +1 -1
  278. package/lib/utils/table.js +4 -4
  279. package/lib/utils/timezone.js +1 -1
  280. package/lib/utils/url.js +20 -19
  281. package/lib/utils/user.js +1 -1
  282. package/lib/utils/userAgent.js +1 -1
  283. package/lib/utils/userRole.js +16 -16
  284. package/package.json +224 -224
package/package.json CHANGED
@@ -1,224 +1,224 @@
1
- {
2
- "name": "studiokit-scaffolding-js",
3
- "version": "7.1.0",
4
- "description": "Common scaffolding for Studio apps at Purdue",
5
- "repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
6
- "license": "MIT",
7
- "main": "lib/index.js",
8
- "types": "lib/index.d.ts",
9
- "files": [
10
- "lib"
11
- ],
12
- "scripts": {
13
- "build": "yarn clean && tsc -p ./tsconfig.build.json && yarn build:babel && yarn copy",
14
- "build:babel": "yarn babel src --extensions \".ts,.tsx,.js,.jsx\" --out-dir lib --ignore \"**/*.test.ts,**/*.test.tsx,src/setupTests.ts\" --source-maps inline",
15
- "typecheck": "tsc -p ./tsconfig.build.json --noEmit",
16
- "clean": "rimraf ./lib",
17
- "copy": "copyfiles -u 1 \"src/**/*.css\" lib && copyfiles lib",
18
- "coverage": "jest --coverage",
19
- "fix": "run-s 'fix:**'",
20
- "fix:code": "yarn lint:code --fix",
21
- "fix:styles": "yarn lint:styles --fix",
22
- "lint": "run-s 'lint:**'",
23
- "lint-code-core": "eslint --ext .js,.jsx,.ts,.tsx",
24
- "lint:code": "yarn lint-code-core .",
25
- "lint:styles": "stylelint \"src/**/*.css\"",
26
- "prepublishOnly": "yarn build",
27
- "test": "jest",
28
- "test:ci": "cross-env CI=true yarn test",
29
- "test:ci-junit": "cross-env CI=true yarn test -- --coverage --reporters='default' --reporters='jest-junit' --coverageReporters='cobertura' --coverageReporters='html'"
30
- },
31
- "husky": {
32
- "hooks": {
33
- "pre-commit": "lint-staged",
34
- "pre-push": "yarn test"
35
- }
36
- },
37
- "lint-staged": {
38
- "**/*.(j|t)s?(x)": [
39
- "yarn fix:code"
40
- ],
41
- "*.css": [
42
- "stylelint --fix"
43
- ],
44
- "package.json": [
45
- "sort-package-json"
46
- ]
47
- },
48
- "stylelint": {
49
- "extends": "stylelint-config-standard",
50
- "rules": {
51
- "import-notation": null,
52
- "at-rule-no-unknown": [
53
- true,
54
- {
55
- "ignoreAtRules": [
56
- "import-glob"
57
- ]
58
- }
59
- ],
60
- "media-feature-range-notation": null,
61
- "property-no-vendor-prefix": null,
62
- "selector-class-pattern": null,
63
- "selector-not-notation": "simple"
64
- },
65
- "ignoreFiles": "src/**/*.{ts,tsx,js,jsx}"
66
- },
67
- "jest": {
68
- "automock": false,
69
- "collectCoverageFrom": [
70
- "src/**/*.{ts,tsx,js,jsx}"
71
- ],
72
- "coverageReporters": [
73
- "cobertura",
74
- "html"
75
- ],
76
- "moduleNameMapper": {
77
- "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
78
- "\\.(css|less)$": "identity-obj-proxy"
79
- },
80
- "preset": "ts-jest",
81
- "setupFilesAfterEnv": [
82
- "./src/setupTests.ts"
83
- ],
84
- "testEnvironment": "jsdom"
85
- },
86
- "resolutions": {
87
- "@sentry/browser": "10.23.0",
88
- "@types/node": "~20.19.0",
89
- "@types/react": "^17.0.89",
90
- "@types/react-router": "^5.1.11",
91
- "kind-of": "^6.0.3",
92
- "mixin-deep": "^1.3.2",
93
- "set-value": "^2.0.1"
94
- },
95
- "dependencies": {
96
- "@babel/runtime": "^7.28.4",
97
- "@material-ui/core": "^4.12.4",
98
- "@material-ui/icons": "^4.11.3",
99
- "@material-ui/lab": "^4.0.0-alpha.61",
100
- "@microsoft/applicationinsights-web": "^3.1.0",
101
- "@redux-saga/core": "^1.4.2",
102
- "@redux-saga/types": "^1.3.1",
103
- "@sentry/react": "^10.23.0",
104
- "@types/history": "^4.7.11",
105
- "@types/lodash": "^4.17.20",
106
- "@types/quill": "^1.3.10",
107
- "@types/react-dom": "^17.0.26",
108
- "@types/react-helmet": "^6.1.0",
109
- "@types/react-modal": "^3.10.6",
110
- "@types/react-redux": "^7.1.16",
111
- "@types/react-router": "^5.1.11",
112
- "@types/react-router-bootstrap": "~0.24.5",
113
- "@types/react-router-dom": "^5.1.7",
114
- "@types/react-table": "^6.8.7",
115
- "@types/redux-logger": "3.0.12",
116
- "bootstrap": "^4.6.0",
117
- "compare-versions": "^3.6.0",
118
- "connected-react-router": "^6.8.0",
119
- "detect-browser": "^5.2.0",
120
- "history": "^4.10.1",
121
- "local-storage-fallback": "^4.1.2",
122
- "lodash": "^4.17.21",
123
- "memoize-one": "^6.0.0",
124
- "moment": "^2.30.1",
125
- "moment-timezone": "^0.6.0",
126
- "parchment": "^1.1.4",
127
- "pluralize": "^8.0.0",
128
- "prop-types": "^15.8.1",
129
- "query-string": "^6.13.8",
130
- "quill": "^1.3.7",
131
- "quill-blot-formatter": "purdue-tlt/quill-blot-formatter#a01562a213eb615abcdf2963457890e81ebc1ab3",
132
- "react-bootstrap": "^1.6.8",
133
- "react-compiler-runtime": "^1.0.0",
134
- "react-ga4": "^2.1.0",
135
- "react-helmet": "^6.1.0",
136
- "react-modal": "^3.16.3",
137
- "react-quill": "purdue-tlt/react-quill#fix/auto-focus",
138
- "react-redux": "^7.2.9",
139
- "react-router": "^5.3.4",
140
- "react-router-bootstrap": "~0.25.0",
141
- "react-router-dom": "^5.3.4",
142
- "react-super-responsive-table": "^5.2.0",
143
- "react-table": "^6.11.5",
144
- "redux": "^4.2.1",
145
- "redux-devtools-extension": "^2.13.9",
146
- "redux-logger": "^3.0.6",
147
- "redux-persist": "^6.0.0",
148
- "redux-saga": "^1.3.0",
149
- "studiokit-caliper-js": "1.0.27",
150
- "tachyons": "^4.12.0",
151
- "tslib": "^2.8.1",
152
- "uuid": "^11.1.0"
153
- },
154
- "devDependencies": {
155
- "@babel/cli": "^7.28.3",
156
- "@babel/core": "^7.28.4",
157
- "@babel/plugin-proposal-class-properties": "^7.18.6",
158
- "@babel/plugin-transform-runtime": "^7.28.3",
159
- "@babel/preset-env": "^7.28.3",
160
- "@babel/preset-react": "^7.27.1",
161
- "@babel/preset-typescript": "^7.27.1",
162
- "@eslint/js": "^9.39.1",
163
- "@redux-saga/testing-utils": "^1.1.5",
164
- "@types/enzyme": "^3.10.19",
165
- "@types/enzyme-adapter-react-16": "^1.0.9",
166
- "@types/eslint-plugin-jsx-a11y": "^6.10.1",
167
- "@types/jest": "^30.0.0",
168
- "@types/mockdate": "^3.0.0",
169
- "@types/pluralize": "^0.0.33",
170
- "@types/react": "^17.0.89",
171
- "@typescript-eslint/parser": "^8.46.3",
172
- "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
173
- "babel-plugin-react-compiler": "^1.0.0",
174
- "copyfiles": "^2.4.1",
175
- "cross-env": "^7.0.3",
176
- "enzyme": "^3.11.0",
177
- "eslint": "^9.39.1",
178
- "eslint-config-prettier": "^10.1.8",
179
- "eslint-import-resolver-typescript": "^4.4.4",
180
- "eslint-plugin-import": "~2.32.0",
181
- "eslint-plugin-jsx-a11y": "^6.10.2",
182
- "eslint-plugin-prettier": "~5.3.1",
183
- "eslint-plugin-react": "^7.37.5",
184
- "eslint-plugin-react-hooks": "^7.0.1",
185
- "globals": "^16.5.0",
186
- "husky": "^4.3.8",
187
- "identity-obj-proxy": "^3.0.0",
188
- "jest": "^30.2.0",
189
- "jest-each": "^30.2.0",
190
- "jest-environment-jsdom": "^30.2.0",
191
- "jest-fetch-mock": "^3.0.3",
192
- "jest-junit": "^16.0.0",
193
- "jest-util": "^30.2.0",
194
- "jiti": "^2.6.1",
195
- "lint-staged": "^10.5.3",
196
- "mockdate": "^3.0.5",
197
- "npm-run-all": "^4.1.5",
198
- "prettier": "~3.6.2",
199
- "react": "^17.0.2",
200
- "react-dom": "^17.0.2",
201
- "rimraf": "^3.0.2",
202
- "sort-package-json": "^1.57.0",
203
- "stylelint": "^16.25.0",
204
- "stylelint-config-standard": "^39.0.1",
205
- "ts-jest": "^29.4.5",
206
- "typescript": "~5.9.3",
207
- "typescript-eslint": "^8.46.3"
208
- },
209
- "peerDependencies": {
210
- "@types/react": "^17.0.0",
211
- "@types/react-redux": "^7.1.16",
212
- "react": "^17.0.2",
213
- "react-dom": "^17.0.1"
214
- },
215
- "peerDependenciesMeta": {
216
- "@types/react": {
217
- "optional": true
218
- },
219
- "@types/react-redux": {
220
- "optional": true
221
- }
222
- },
223
- "packageManager": "yarn@4.10.3"
224
- }
1
+ {
2
+ "name": "studiokit-scaffolding-js",
3
+ "version": "7.1.1",
4
+ "description": "Common scaffolding for Studio apps at Purdue",
5
+ "repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
6
+ "license": "MIT",
7
+ "main": "lib/index.js",
8
+ "types": "lib/index.d.ts",
9
+ "files": [
10
+ "lib"
11
+ ],
12
+ "scripts": {
13
+ "build": "yarn clean && tsc -p ./tsconfig.build.json && yarn build:babel && yarn copy",
14
+ "build:babel": "yarn babel src --extensions \".ts,.tsx,.js,.jsx\" --out-dir lib --ignore \"**/*.test.ts,**/*.test.tsx,src/setupTests.ts\" --source-maps inline",
15
+ "typecheck": "tsc -p ./tsconfig.build.json --noEmit",
16
+ "clean": "rimraf ./lib",
17
+ "copy": "copyfiles -u 1 \"src/**/*.css\" lib && copyfiles lib",
18
+ "coverage": "jest --coverage",
19
+ "fix": "run-s 'fix:**'",
20
+ "fix:code": "yarn lint:code --fix",
21
+ "fix:styles": "yarn lint:styles --fix",
22
+ "lint": "run-s 'lint:**'",
23
+ "lint-code-core": "eslint --ext .js,.jsx,.ts,.tsx",
24
+ "lint:code": "yarn lint-code-core .",
25
+ "lint:styles": "stylelint \"src/**/*.css\"",
26
+ "prepublishOnly": "yarn build",
27
+ "test": "jest",
28
+ "test:ci": "cross-env CI=true yarn test",
29
+ "test:ci-junit": "cross-env CI=true yarn test -- --coverage --reporters='default' --reporters='jest-junit' --coverageReporters='cobertura' --coverageReporters='html'"
30
+ },
31
+ "husky": {
32
+ "hooks": {
33
+ "pre-commit": "lint-staged",
34
+ "pre-push": "yarn test"
35
+ }
36
+ },
37
+ "lint-staged": {
38
+ "**/*.(j|t)s?(x)": [
39
+ "yarn fix:code"
40
+ ],
41
+ "*.css": [
42
+ "stylelint --fix"
43
+ ],
44
+ "package.json": [
45
+ "sort-package-json"
46
+ ]
47
+ },
48
+ "stylelint": {
49
+ "extends": "stylelint-config-standard",
50
+ "rules": {
51
+ "import-notation": null,
52
+ "at-rule-no-unknown": [
53
+ true,
54
+ {
55
+ "ignoreAtRules": [
56
+ "import-glob"
57
+ ]
58
+ }
59
+ ],
60
+ "media-feature-range-notation": null,
61
+ "property-no-vendor-prefix": null,
62
+ "selector-class-pattern": null,
63
+ "selector-not-notation": "simple"
64
+ },
65
+ "ignoreFiles": "src/**/*.{ts,tsx,js,jsx}"
66
+ },
67
+ "jest": {
68
+ "automock": false,
69
+ "collectCoverageFrom": [
70
+ "src/**/*.{ts,tsx,js,jsx}"
71
+ ],
72
+ "coverageReporters": [
73
+ "cobertura",
74
+ "html"
75
+ ],
76
+ "moduleNameMapper": {
77
+ "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
78
+ "\\.(css|less)$": "identity-obj-proxy"
79
+ },
80
+ "preset": "ts-jest",
81
+ "setupFilesAfterEnv": [
82
+ "./src/setupTests.ts"
83
+ ],
84
+ "testEnvironment": "jsdom"
85
+ },
86
+ "resolutions": {
87
+ "@sentry/browser": "10.23.0",
88
+ "@types/node": "~20.19.0",
89
+ "@types/react": "^17.0.89",
90
+ "@types/react-router": "^5.1.11",
91
+ "kind-of": "^6.0.3",
92
+ "mixin-deep": "^1.3.2",
93
+ "set-value": "^2.0.1"
94
+ },
95
+ "dependencies": {
96
+ "@babel/runtime": "^7.28.4",
97
+ "@material-ui/core": "^4.12.4",
98
+ "@material-ui/icons": "^4.11.3",
99
+ "@material-ui/lab": "^4.0.0-alpha.61",
100
+ "@microsoft/applicationinsights-web": "^3.1.0",
101
+ "@redux-saga/core": "^1.4.2",
102
+ "@redux-saga/types": "^1.3.1",
103
+ "@sentry/react": "^10.23.0",
104
+ "@types/history": "^4.7.11",
105
+ "@types/lodash": "^4.17.20",
106
+ "@types/quill": "^1.3.10",
107
+ "@types/react-dom": "^17.0.26",
108
+ "@types/react-helmet": "^6.1.0",
109
+ "@types/react-modal": "^3.10.6",
110
+ "@types/react-redux": "^7.1.16",
111
+ "@types/react-router": "^5.1.11",
112
+ "@types/react-router-bootstrap": "~0.24.5",
113
+ "@types/react-router-dom": "^5.1.7",
114
+ "@types/react-table": "^6.8.7",
115
+ "@types/redux-logger": "3.0.12",
116
+ "bootstrap": "^4.6.0",
117
+ "compare-versions": "^3.6.0",
118
+ "connected-react-router": "^6.8.0",
119
+ "detect-browser": "^5.2.0",
120
+ "history": "^4.10.1",
121
+ "local-storage-fallback": "^4.1.2",
122
+ "lodash": "^4.17.21",
123
+ "memoize-one": "^6.0.0",
124
+ "moment": "^2.30.1",
125
+ "moment-timezone": "^0.6.0",
126
+ "parchment": "^1.1.4",
127
+ "pluralize": "^8.0.0",
128
+ "prop-types": "^15.8.1",
129
+ "query-string": "^6.13.8",
130
+ "quill": "^1.3.7",
131
+ "quill-blot-formatter": "purdue-tlt/quill-blot-formatter#a01562a213eb615abcdf2963457890e81ebc1ab3",
132
+ "react-bootstrap": "^1.6.8",
133
+ "react-compiler-runtime": "^1.0.0",
134
+ "react-ga4": "^2.1.0",
135
+ "react-helmet": "^6.1.0",
136
+ "react-modal": "^3.16.3",
137
+ "react-quill": "purdue-tlt/react-quill#fix/auto-focus",
138
+ "react-redux": "^7.2.9",
139
+ "react-router": "^5.3.4",
140
+ "react-router-bootstrap": "~0.25.0",
141
+ "react-router-dom": "^5.3.4",
142
+ "react-super-responsive-table": "^5.2.0",
143
+ "react-table": "^6.11.5",
144
+ "redux": "^4.2.1",
145
+ "redux-devtools-extension": "^2.13.9",
146
+ "redux-logger": "^3.0.6",
147
+ "redux-persist": "^6.0.0",
148
+ "redux-saga": "^1.3.0",
149
+ "studiokit-caliper-js": "1.0.27",
150
+ "tachyons": "^4.12.0",
151
+ "tslib": "^2.8.1",
152
+ "uuid": "^11.1.0"
153
+ },
154
+ "devDependencies": {
155
+ "@babel/cli": "^7.28.3",
156
+ "@babel/core": "^7.28.4",
157
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
158
+ "@babel/plugin-transform-runtime": "^7.28.3",
159
+ "@babel/preset-env": "^7.28.3",
160
+ "@babel/preset-react": "^7.27.1",
161
+ "@babel/preset-typescript": "^7.27.1",
162
+ "@eslint/js": "^9.39.1",
163
+ "@redux-saga/testing-utils": "^1.1.5",
164
+ "@types/enzyme": "^3.10.19",
165
+ "@types/enzyme-adapter-react-16": "^1.0.9",
166
+ "@types/eslint-plugin-jsx-a11y": "^6.10.1",
167
+ "@types/jest": "^30.0.0",
168
+ "@types/mockdate": "^3.0.0",
169
+ "@types/pluralize": "^0.0.33",
170
+ "@types/react": "^17.0.89",
171
+ "@typescript-eslint/parser": "^8.46.3",
172
+ "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
173
+ "babel-plugin-react-compiler": "^1.0.0",
174
+ "copyfiles": "^2.4.1",
175
+ "cross-env": "^7.0.3",
176
+ "enzyme": "^3.11.0",
177
+ "eslint": "^9.39.1",
178
+ "eslint-config-prettier": "^10.1.8",
179
+ "eslint-import-resolver-typescript": "^4.4.4",
180
+ "eslint-plugin-import": "~2.32.0",
181
+ "eslint-plugin-jsx-a11y": "^6.10.2",
182
+ "eslint-plugin-prettier": "~5.3.1",
183
+ "eslint-plugin-react": "^7.37.5",
184
+ "eslint-plugin-react-hooks": "^7.0.1",
185
+ "globals": "^16.5.0",
186
+ "husky": "^4.3.8",
187
+ "identity-obj-proxy": "^3.0.0",
188
+ "jest": "^30.2.0",
189
+ "jest-each": "^30.2.0",
190
+ "jest-environment-jsdom": "^30.2.0",
191
+ "jest-fetch-mock": "^3.0.3",
192
+ "jest-junit": "^16.0.0",
193
+ "jest-util": "^30.2.0",
194
+ "jiti": "^2.6.1",
195
+ "lint-staged": "^10.5.3",
196
+ "mockdate": "^3.0.5",
197
+ "npm-run-all": "^4.1.5",
198
+ "prettier": "~3.6.2",
199
+ "react": "^17.0.2",
200
+ "react-dom": "^17.0.2",
201
+ "rimraf": "^3.0.2",
202
+ "sort-package-json": "^1.57.0",
203
+ "stylelint": "^16.25.0",
204
+ "stylelint-config-standard": "^39.0.1",
205
+ "ts-jest": "^29.4.5",
206
+ "typescript": "~5.9.3",
207
+ "typescript-eslint": "^8.46.3"
208
+ },
209
+ "peerDependencies": {
210
+ "@types/react": "^17.0.0",
211
+ "@types/react-redux": "^7.1.16",
212
+ "react": "^17.0.2",
213
+ "react-dom": "^17.0.1"
214
+ },
215
+ "peerDependenciesMeta": {
216
+ "@types/react": {
217
+ "optional": true
218
+ },
219
+ "@types/react-redux": {
220
+ "optional": true
221
+ }
222
+ },
223
+ "packageManager": "yarn@4.10.3"
224
+ }