@openedx/frontend-build 13.0.15

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 (231) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +10 -0
  3. package/.github/workflows/add-depr-ticket-to-depr-board.yml +19 -0
  4. package/.github/workflows/add-remove-label-on-comment.yml +20 -0
  5. package/.github/workflows/ci.yml +30 -0
  6. package/.github/workflows/commitlint.yml +10 -0
  7. package/.github/workflows/lockfileversion-check.yml +13 -0
  8. package/.github/workflows/release.yml +34 -0
  9. package/.github/workflows/self-assign-issue.yml +12 -0
  10. package/.github/workflows/sync-master-alpha.yml +35 -0
  11. package/.nvmrc +1 -0
  12. package/LICENSE +661 -0
  13. package/README.md +295 -0
  14. package/bin/fedx-scripts.js +88 -0
  15. package/config/.eslintrc.js +45 -0
  16. package/config/babel-preserve-modules.config.js +30 -0
  17. package/config/babel-typescript.config.js +5 -0
  18. package/config/babel.config.js +41 -0
  19. package/config/getLocalAliases.js +67 -0
  20. package/config/jest/fallback.env.config.js +12 -0
  21. package/config/jest/fileMock.js +1 -0
  22. package/config/jest/setupTest.js +10 -0
  23. package/config/jest/svgrMock.js +4 -0
  24. package/config/jest.config.js +43 -0
  25. package/config/webpack.common.config.js +40 -0
  26. package/config/webpack.dev-stage.config.js +191 -0
  27. package/config/webpack.dev.config.js +193 -0
  28. package/config/webpack.prod.config.js +219 -0
  29. package/coverage/clover.xml +6 -0
  30. package/coverage/coverage-final.json +1 -0
  31. package/coverage/lcov-report/base.css +224 -0
  32. package/coverage/lcov-report/block-navigation.js +87 -0
  33. package/coverage/lcov-report/favicon.png +0 -0
  34. package/coverage/lcov-report/index.html +101 -0
  35. package/coverage/lcov-report/prettify.css +1 -0
  36. package/coverage/lcov-report/prettify.js +2 -0
  37. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  38. package/coverage/lcov-report/sorter.js +196 -0
  39. package/coverage/lcov.info +0 -0
  40. package/docs/0001-non-usage-of-gatsby.rst +37 -0
  41. package/docs/0002-js-environment-config.md +47 -0
  42. package/docs/0003-fedx-scripts-serve.md +37 -0
  43. package/example/.env +0 -0
  44. package/example/.env.development +3 -0
  45. package/example/.env.test +2 -0
  46. package/example/.eslintignore +5 -0
  47. package/example/.eslintrc.js +3 -0
  48. package/example/dist/6.215b56a13e78398da5e3.js +3 -0
  49. package/example/dist/6.215b56a13e78398da5e3.js.LICENSE.txt +41 -0
  50. package/example/dist/6.215b56a13e78398da5e3.js.map +1 -0
  51. package/example/dist/app.80862a4da69beb9b3c51.css +3 -0
  52. package/example/dist/app.80862a4da69beb9b3c51.css.map +1 -0
  53. package/example/dist/app.80862a4da69beb9b3c51.js +2 -0
  54. package/example/dist/app.80862a4da69beb9b3c51.js.map +1 -0
  55. package/example/dist/b04e4301608fdcff39abf8f70b4a7de6.jpg +0 -0
  56. package/example/dist/babel/App.js +85 -0
  57. package/example/dist/babel/App.js.map +1 -0
  58. package/example/dist/babel/App.test.jsx +11 -0
  59. package/example/dist/babel/__snapshots__/App.test.jsx.snap +108 -0
  60. package/example/dist/babel/apple.jpg +0 -0
  61. package/example/dist/babel/apple.svg +1 -0
  62. package/example/dist/babel/index.js +13 -0
  63. package/example/dist/babel/index.js.map +1 -0
  64. package/example/dist/babel/style.scss +9 -0
  65. package/example/dist/cb28cdb1468c915e27e5cec9af64f22f.svg +1 -0
  66. package/example/dist/index.html +4 -0
  67. package/example/dist/report.html +39 -0
  68. package/example/dist/runtime.3eabd67eaf067d6c2f46.js +2 -0
  69. package/example/dist/runtime.3eabd67eaf067d6c2f46.js.map +1 -0
  70. package/example/env.config.js +6 -0
  71. package/example/node_modules/.package-lock.json +98 -0
  72. package/example/node_modules/js-tokens/CHANGELOG.md +151 -0
  73. package/example/node_modules/js-tokens/LICENSE +21 -0
  74. package/example/node_modules/js-tokens/README.md +240 -0
  75. package/example/node_modules/js-tokens/index.js +23 -0
  76. package/example/node_modules/js-tokens/package.json +30 -0
  77. package/example/node_modules/loose-envify/LICENSE +21 -0
  78. package/example/node_modules/loose-envify/README.md +45 -0
  79. package/example/node_modules/loose-envify/cli.js +16 -0
  80. package/example/node_modules/loose-envify/custom.js +4 -0
  81. package/example/node_modules/loose-envify/index.js +3 -0
  82. package/example/node_modules/loose-envify/loose-envify.js +36 -0
  83. package/example/node_modules/loose-envify/package.json +36 -0
  84. package/example/node_modules/loose-envify/replace.js +65 -0
  85. package/example/node_modules/object-assign/index.js +90 -0
  86. package/example/node_modules/object-assign/license +21 -0
  87. package/example/node_modules/object-assign/package.json +42 -0
  88. package/example/node_modules/object-assign/readme.md +61 -0
  89. package/example/node_modules/prop-types/LICENSE +21 -0
  90. package/example/node_modules/prop-types/README.md +302 -0
  91. package/example/node_modules/prop-types/checkPropTypes.js +103 -0
  92. package/example/node_modules/prop-types/factory.js +19 -0
  93. package/example/node_modules/prop-types/factoryWithThrowingShims.js +65 -0
  94. package/example/node_modules/prop-types/factoryWithTypeCheckers.js +610 -0
  95. package/example/node_modules/prop-types/index.js +19 -0
  96. package/example/node_modules/prop-types/lib/ReactPropTypesSecret.js +12 -0
  97. package/example/node_modules/prop-types/lib/has.js +1 -0
  98. package/example/node_modules/prop-types/package.json +60 -0
  99. package/example/node_modules/prop-types/prop-types.js +1315 -0
  100. package/example/node_modules/prop-types/prop-types.min.js +1 -0
  101. package/example/node_modules/react/LICENSE +21 -0
  102. package/example/node_modules/react/README.md +13 -0
  103. package/example/node_modules/react/build-info.json +8 -0
  104. package/example/node_modules/react/cjs/react-jsx-dev-runtime.development.js +889 -0
  105. package/example/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +9 -0
  106. package/example/node_modules/react/cjs/react-jsx-runtime.development.js +911 -0
  107. package/example/node_modules/react/cjs/react-jsx-runtime.production.min.js +10 -0
  108. package/example/node_modules/react/cjs/react.development.js +1912 -0
  109. package/example/node_modules/react/cjs/react.production.min.js +25 -0
  110. package/example/node_modules/react/index.js +7 -0
  111. package/example/node_modules/react/jsx-dev-runtime.js +7 -0
  112. package/example/node_modules/react/jsx-runtime.js +7 -0
  113. package/example/node_modules/react/package.json +44 -0
  114. package/example/node_modules/react/umd/react.development.js +3318 -0
  115. package/example/node_modules/react/umd/react.production.min.js +32 -0
  116. package/example/node_modules/react/umd/react.profiling.min.js +39 -0
  117. package/example/node_modules/react-dom/LICENSE +21 -0
  118. package/example/node_modules/react-dom/README.md +54 -0
  119. package/example/node_modules/react-dom/build-info.json +8 -0
  120. package/example/node_modules/react-dom/cjs/react-dom-server.browser.development.js +4043 -0
  121. package/example/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +54 -0
  122. package/example/node_modules/react-dom/cjs/react-dom-server.node.development.js +4085 -0
  123. package/example/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +55 -0
  124. package/example/node_modules/react-dom/cjs/react-dom-test-utils.development.js +1480 -0
  125. package/example/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +35 -0
  126. package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.browser.development.js +141 -0
  127. package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.browser.production.min.js +11 -0
  128. package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.node.development.js +162 -0
  129. package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.node.production.min.js +12 -0
  130. package/example/node_modules/react-dom/cjs/react-dom-unstable-native-dependencies.development.js +1629 -0
  131. package/example/node_modules/react-dom/cjs/react-dom-unstable-native-dependencies.production.min.js +31 -0
  132. package/example/node_modules/react-dom/cjs/react-dom.development.js +25012 -0
  133. package/example/node_modules/react-dom/cjs/react-dom.production.min.js +292 -0
  134. package/example/node_modules/react-dom/cjs/react-dom.profiling.min.js +299 -0
  135. package/example/node_modules/react-dom/index.js +38 -0
  136. package/example/node_modules/react-dom/package.json +60 -0
  137. package/example/node_modules/react-dom/profiling.js +38 -0
  138. package/example/node_modules/react-dom/server.browser.js +7 -0
  139. package/example/node_modules/react-dom/server.js +3 -0
  140. package/example/node_modules/react-dom/server.node.js +7 -0
  141. package/example/node_modules/react-dom/test-utils.js +7 -0
  142. package/example/node_modules/react-dom/umd/react-dom-server.browser.development.js +4147 -0
  143. package/example/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +45 -0
  144. package/example/node_modules/react-dom/umd/react-dom-test-utils.development.js +1499 -0
  145. package/example/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +30 -0
  146. package/example/node_modules/react-dom/umd/react-dom-unstable-fizz.browser.development.js +141 -0
  147. package/example/node_modules/react-dom/umd/react-dom-unstable-fizz.browser.production.min.js +10 -0
  148. package/example/node_modules/react-dom/umd/react-dom-unstable-native-dependencies.development.js +1628 -0
  149. package/example/node_modules/react-dom/umd/react-dom-unstable-native-dependencies.production.min.js +28 -0
  150. package/example/node_modules/react-dom/umd/react-dom.development.js +25147 -0
  151. package/example/node_modules/react-dom/umd/react-dom.production.min.js +239 -0
  152. package/example/node_modules/react-dom/umd/react-dom.profiling.min.js +247 -0
  153. package/example/node_modules/react-dom/unstable-fizz.browser.js +7 -0
  154. package/example/node_modules/react-dom/unstable-fizz.js +3 -0
  155. package/example/node_modules/react-dom/unstable-fizz.node.js +7 -0
  156. package/example/node_modules/react-dom/unstable-native-dependencies.js +7 -0
  157. package/example/node_modules/react-is/LICENSE +21 -0
  158. package/example/node_modules/react-is/README.md +104 -0
  159. package/example/node_modules/react-is/build-info.json +8 -0
  160. package/example/node_modules/react-is/cjs/react-is.development.js +181 -0
  161. package/example/node_modules/react-is/cjs/react-is.production.min.js +15 -0
  162. package/example/node_modules/react-is/index.js +7 -0
  163. package/example/node_modules/react-is/package.json +27 -0
  164. package/example/node_modules/react-is/umd/react-is.development.js +181 -0
  165. package/example/node_modules/react-is/umd/react-is.production.min.js +13 -0
  166. package/example/node_modules/react-test-renderer/LICENSE +21 -0
  167. package/example/node_modules/react-test-renderer/README.md +26 -0
  168. package/example/node_modules/react-test-renderer/build-info.json +8 -0
  169. package/example/node_modules/react-test-renderer/cjs/react-test-renderer-shallow.development.js +1019 -0
  170. package/example/node_modules/react-test-renderer/cjs/react-test-renderer-shallow.production.min.js +35 -0
  171. package/example/node_modules/react-test-renderer/cjs/react-test-renderer.development.js +15596 -0
  172. package/example/node_modules/react-test-renderer/cjs/react-test-renderer.production.min.js +181 -0
  173. package/example/node_modules/react-test-renderer/index.js +7 -0
  174. package/example/node_modules/react-test-renderer/package.json +41 -0
  175. package/example/node_modules/react-test-renderer/shallow.js +7 -0
  176. package/example/node_modules/react-test-renderer/umd/react-test-renderer-shallow.development.js +1176 -0
  177. package/example/node_modules/react-test-renderer/umd/react-test-renderer-shallow.production.min.js +31 -0
  178. package/example/node_modules/react-test-renderer/umd/react-test-renderer.development.js +15709 -0
  179. package/example/node_modules/react-test-renderer/umd/react-test-renderer.production.min.js +151 -0
  180. package/example/node_modules/scheduler/LICENSE +21 -0
  181. package/example/node_modules/scheduler/README.md +9 -0
  182. package/example/node_modules/scheduler/build-info.json +8 -0
  183. package/example/node_modules/scheduler/cjs/scheduler-tracing.development.js +349 -0
  184. package/example/node_modules/scheduler/cjs/scheduler-tracing.production.min.js +10 -0
  185. package/example/node_modules/scheduler/cjs/scheduler-tracing.profiling.min.js +17 -0
  186. package/example/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js +857 -0
  187. package/example/node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js +20 -0
  188. package/example/node_modules/scheduler/cjs/scheduler.development.js +858 -0
  189. package/example/node_modules/scheduler/cjs/scheduler.production.min.js +21 -0
  190. package/example/node_modules/scheduler/index.js +7 -0
  191. package/example/node_modules/scheduler/package.json +39 -0
  192. package/example/node_modules/scheduler/tracing-profiling.js +7 -0
  193. package/example/node_modules/scheduler/tracing.js +7 -0
  194. package/example/node_modules/scheduler/umd/scheduler-tracing.development.js +80 -0
  195. package/example/node_modules/scheduler/umd/scheduler-tracing.production.min.js +80 -0
  196. package/example/node_modules/scheduler/umd/scheduler-tracing.profiling.min.js +80 -0
  197. package/example/node_modules/scheduler/umd/scheduler-unstable_mock.development.js +857 -0
  198. package/example/node_modules/scheduler/umd/scheduler-unstable_mock.production.min.js +17 -0
  199. package/example/node_modules/scheduler/umd/scheduler.development.js +152 -0
  200. package/example/node_modules/scheduler/umd/scheduler.production.min.js +146 -0
  201. package/example/node_modules/scheduler/umd/scheduler.profiling.min.js +146 -0
  202. package/example/node_modules/scheduler/unstable_mock.js +7 -0
  203. package/example/package-lock.json +110 -0
  204. package/example/package.json +24 -0
  205. package/example/public/index.html +13 -0
  206. package/example/src/App.jsx +40 -0
  207. package/example/src/App.test.jsx +11 -0
  208. package/example/src/__snapshots__/App.test.jsx.snap +108 -0
  209. package/example/src/apple.jpg +0 -0
  210. package/example/src/apple.svg +1 -0
  211. package/example/src/index.jsx +13 -0
  212. package/example/src/style.scss +9 -0
  213. package/index.js +7 -0
  214. package/lib/ConfigPreset.js +28 -0
  215. package/lib/createConfig.js +7 -0
  216. package/lib/formatter.js +10 -0
  217. package/lib/getBaseConfig.js +9 -0
  218. package/lib/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +86 -0
  219. package/lib/plugins/html-webpack-new-relic-plugin/LICENSE +21 -0
  220. package/lib/plugins/html-webpack-new-relic-plugin/README.md +7 -0
  221. package/lib/plugins/html-webpack-new-relic-plugin/index.js +3 -0
  222. package/lib/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +80 -0
  223. package/lib/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +1 -0
  224. package/lib/presets.js +75 -0
  225. package/lib/resolveFilepaths.js +14 -0
  226. package/lib/resolvePrivateEnvConfig.js +15 -0
  227. package/lib/scripts/serve.js +78 -0
  228. package/openedx.yaml +10 -0
  229. package/package.json +95 -0
  230. package/renovate.json +22 -0
  231. package/smoke-test.sh +11 -0
@@ -0,0 +1,78 @@
1
+ const express = require('express');
2
+ const path = require('path');
3
+ const fs = require('fs');
4
+ const chalk = require('chalk');
5
+ const dotenv = require('dotenv');
6
+
7
+ const resolvePrivateEnvConfig = require('../resolvePrivateEnvConfig');
8
+
9
+ // Add process env vars. Currently used only for setting the
10
+ // server port and the publicPath
11
+ dotenv.config({
12
+ path: path.resolve(process.cwd(), '.env.development'),
13
+ });
14
+
15
+ // Allow private/local overrides of env vars from .env.development for config settings
16
+ // that you'd like to persist locally during development, without the risk of checking
17
+ // in temporary modifications to .env.development.
18
+ resolvePrivateEnvConfig('.env.private');
19
+
20
+ function isDirectoryEmpty(directoryPath) {
21
+ try {
22
+ const files = fs.readdirSync(directoryPath);
23
+ return files.length === 0;
24
+ } catch (error) {
25
+ if (error.code === 'ENOENT') {
26
+ // Directory does not exist, so treat it as empty.
27
+ return true;
28
+ }
29
+ throw error; // Throw the error for other cases
30
+ }
31
+ }
32
+
33
+ const buildPath = path.join(process.cwd(), 'dist');
34
+ const buildPathIndex = path.join(buildPath, 'index.html');
35
+
36
+ const fallbackPort = 8080;
37
+
38
+ if (isDirectoryEmpty(buildPath)) {
39
+ const formattedBuildCmd = chalk.bold.redBright('``npm run build``');
40
+ console.log(chalk.bold.red(`ERROR: No build found. Please run ${formattedBuildCmd} first.`));
41
+ } else {
42
+ let configuredPort;
43
+
44
+ try {
45
+ configuredPort = require(path.join(process.cwd(), 'env.config.js'))?.PORT;
46
+ } catch (error) {
47
+ // Pass. Consuming applications may not have an `env.config.js` file. This is OK.
48
+ }
49
+
50
+ if (!configuredPort) {
51
+ configuredPort = process.env.PORT;
52
+ }
53
+
54
+ // No `PORT` found in `env.config.js` and/or `.env.development|private`, so output a warning.
55
+ if (!configuredPort) {
56
+ const formattedEnvDev = chalk.bold.yellowBright('.env.development');
57
+ const formattedEnvConfig = chalk.bold.yellowBright('env.config.js');
58
+ const formattedPort = chalk.bold.yellowBright(fallbackPort);
59
+ console.log(chalk.yellow(`No port found in ${formattedEnvDev} and/or ${formattedEnvConfig} file(s). Falling back to port ${formattedPort}.\n`));
60
+ }
61
+
62
+ const app = express();
63
+
64
+ // Fallback to standard example port if no PORT config is set.
65
+ const PORT = configuredPort || fallbackPort;
66
+
67
+ app.use(express.static(buildPath));
68
+
69
+ app.use('*', (req, res) => {
70
+ res.sendFile(buildPathIndex);
71
+ });
72
+
73
+ app.listen(PORT, () => {
74
+ const formattedServedFile = chalk.bold.cyanBright(buildPathIndex);
75
+ const formattedPort = chalk.bold.cyanBright(PORT);
76
+ console.log(chalk.greenBright(`Serving ${formattedServedFile} on port ${formattedPort}...`));
77
+ });
78
+ }
package/openedx.yaml ADDED
@@ -0,0 +1,10 @@
1
+ # openedx.yaml
2
+
3
+ ---
4
+ owner: edx/fedx-team
5
+ tags:
6
+ - library
7
+ - build
8
+ - react
9
+ - webpack
10
+ - babel
package/package.json ADDED
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "@openedx/frontend-build",
3
+ "version": "13.0.15",
4
+ "description": "Build tools, setup and config for frontend apps",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "main": "index.js",
9
+ "bin": {
10
+ "fedx-scripts": "./bin/fedx-scripts.js"
11
+ },
12
+ "scripts": {
13
+ "lint": "eslint . --no-eslintrc -c .eslintrc.js",
14
+ "test": "bash ./smoke-test.sh"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/openedx/frontend-build.git"
19
+ },
20
+ "keywords": [],
21
+ "author": "Open edX Community",
22
+ "license": "AGPL-3.0",
23
+ "bugs": {
24
+ "url": "https://github.com/openedx/frontend-build/issues"
25
+ },
26
+ "homepage": "https://github.com/openedx/frontend-build#readme",
27
+ "dependencies": {
28
+ "@babel/cli": "7.22.5",
29
+ "@babel/core": "7.22.5",
30
+ "@babel/eslint-parser": "7.22.9",
31
+ "@babel/plugin-proposal-class-properties": "7.18.6",
32
+ "@babel/plugin-proposal-object-rest-spread": "7.20.7",
33
+ "@babel/plugin-syntax-dynamic-import": "7.8.3",
34
+ "@babel/preset-env": "7.22.5",
35
+ "@babel/preset-react": "7.22.5",
36
+ "@edx/eslint-config": "3.2.0",
37
+ "@edx/new-relic-source-map-webpack-plugin": "2.1.0",
38
+ "@formatjs/cli": "^6.0.3",
39
+ "@fullhuman/postcss-purgecss": "5.0.0",
40
+ "@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
41
+ "@svgr/webpack": "8.1.0",
42
+ "autoprefixer": "10.4.16",
43
+ "babel-jest": "26.6.3",
44
+ "babel-loader": "9.1.3",
45
+ "babel-plugin-formatjs": "^10.4.0",
46
+ "babel-plugin-transform-imports": "2.0.0",
47
+ "babel-polyfill": "6.26.0",
48
+ "chalk": "4.1.2",
49
+ "clean-webpack-plugin": "4.0.0",
50
+ "css-loader": "5.2.7",
51
+ "cssnano": "6.0.1",
52
+ "dotenv": "8.6.0",
53
+ "dotenv-webpack": "8.0.1",
54
+ "eslint": "8.44.0",
55
+ "eslint-config-airbnb": "19.0.4",
56
+ "eslint-plugin-import": "2.27.5",
57
+ "eslint-plugin-jsx-a11y": "6.7.1",
58
+ "eslint-plugin-react": "7.32.2",
59
+ "eslint-plugin-react-hooks": "4.6.0",
60
+ "express": "4.18.2",
61
+ "file-loader": "6.2.0",
62
+ "html-webpack-plugin": "5.5.4",
63
+ "identity-obj-proxy": "3.0.0",
64
+ "image-minimizer-webpack-plugin": "3.8.3",
65
+ "jest": "26.6.3",
66
+ "mini-css-extract-plugin": "1.6.2",
67
+ "postcss": "8.4.32",
68
+ "postcss-custom-media": "10.0.2",
69
+ "postcss-loader": "7.3.3",
70
+ "postcss-rtlcss": "4.0.9",
71
+ "react-dev-utils": "12.0.1",
72
+ "react-refresh": "0.14.0",
73
+ "resolve-url-loader": "5.0.0",
74
+ "sass": "1.69.5",
75
+ "sass-loader": "13.3.2",
76
+ "sharp": "0.33.0",
77
+ "source-map-loader": "4.0.1",
78
+ "style-loader": "3.3.3",
79
+ "url-loader": "4.1.1",
80
+ "webpack": "5.89.0",
81
+ "webpack-bundle-analyzer": "4.10.1",
82
+ "webpack-cli": "5.1.4",
83
+ "webpack-dev-server": "4.15.1",
84
+ "webpack-merge": "5.9.0"
85
+ },
86
+ "devDependencies": {
87
+ "@babel/preset-typescript": "^7.18.6",
88
+ "@types/react": "^17.0.0",
89
+ "@types/react-dom": "^17.0.11",
90
+ "typescript": "^5.0.0"
91
+ },
92
+ "peerDependencies": {
93
+ "react": "^16.9.0 || ^17.0.0"
94
+ }
95
+ }
package/renovate.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "extends": [
3
+ "config:base"
4
+ ],
5
+ "patch": {
6
+ "automerge": true
7
+ },
8
+ "rebaseStalePrs": true,
9
+ "packageRules": [
10
+ {
11
+ "packagePatterns": [
12
+ "eslint"
13
+ ],
14
+ "groupName": "eslint"
15
+ },
16
+ {
17
+ "matchPackagePatterns": ["@edx", "@openedx"],
18
+ "matchUpdateTypes": ["minor", "patch"],
19
+ "automerge": true
20
+ }
21
+ ]
22
+ }
package/smoke-test.sh ADDED
@@ -0,0 +1,11 @@
1
+ # exit on any errors in commands below
2
+ # https://stackoverflow.com/questions/90418/exit-shell-script-based-on-process-exit-code
3
+ set -e
4
+ node ./bin/fedx-scripts jest --coverage plugins
5
+ cd example
6
+ npm install
7
+ npm run lint
8
+ npm run test
9
+ npm run build
10
+ npm run babel
11
+ cd ../