@openedx/frontend-build 12.10.0-alpha.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.
- package/.eslintignore +5 -0
- package/.eslintrc.js +10 -0
- package/.github/workflows/add-depr-ticket-to-depr-board.yml +19 -0
- package/.github/workflows/add-remove-label-on-comment.yml +20 -0
- package/.github/workflows/ci.yml +30 -0
- package/.github/workflows/commitlint.yml +20 -0
- package/.github/workflows/lockfileversion-check.yml +13 -0
- package/.github/workflows/release.yml +34 -0
- package/.github/workflows/self-assign-issue.yml +12 -0
- package/.github/workflows/sync-master-alpha.yml +35 -0
- package/.nvmrc +1 -0
- package/LICENSE +661 -0
- package/README.md +314 -0
- package/bin/fedx-scripts.js +88 -0
- package/config/.eslintrc.js +46 -0
- package/config/babel-preserve-modules.config.js +30 -0
- package/config/babel-typescript.config.js +5 -0
- package/config/babel.config.js +41 -0
- package/config/getLocalAliases.js +67 -0
- package/config/jest/fallback.env.config.js +12 -0
- package/config/jest/fileMock.js +1 -0
- package/config/jest/setupTest.js +10 -0
- package/config/jest/svgrMock.js +4 -0
- package/config/jest.config.js +45 -0
- package/config/webpack.common.config.js +40 -0
- package/config/webpack.dev-stage.config.js +191 -0
- package/config/webpack.dev.config.js +193 -0
- package/config/webpack.prod.config.js +219 -0
- package/coverage/clover.xml +6 -0
- package/coverage/coverage-final.json +1 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +101 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov.info +0 -0
- package/docs/0001-non-usage-of-gatsby.rst +37 -0
- package/docs/0002-js-environment-config.md +47 -0
- package/docs/0003-fedx-scripts-serve.md +37 -0
- package/example/.env +0 -0
- package/example/.env.development +3 -0
- package/example/.env.test +2 -0
- package/example/.eslintignore +5 -0
- package/example/.eslintrc.js +3 -0
- package/example/dist/1382e1cbf8d733d7301cdd212192bfea.jpg +0 -0
- package/example/dist/6.4a131009e103f9d0c995.js +3 -0
- package/example/dist/6.4a131009e103f9d0c995.js.LICENSE.txt +41 -0
- package/example/dist/6.4a131009e103f9d0c995.js.map +1 -0
- package/example/dist/app.04e87df21a6686d7d2a5.css +3 -0
- package/example/dist/app.04e87df21a6686d7d2a5.css.map +1 -0
- package/example/dist/app.04e87df21a6686d7d2a5.js +2 -0
- package/example/dist/app.04e87df21a6686d7d2a5.js.map +1 -0
- package/example/dist/babel/App.js +94 -0
- package/example/dist/babel/App.js.map +1 -0
- package/example/dist/babel/App.test.jsx +11 -0
- package/example/dist/babel/Image.tsx +16 -0
- package/example/dist/babel/__snapshots__/App.test.jsx.snap +120 -0
- package/example/dist/babel/apple.jpg +0 -0
- package/example/dist/babel/apple.svg +1 -0
- package/example/dist/babel/index.js +13 -0
- package/example/dist/babel/index.js.map +1 -0
- package/example/dist/babel/style.scss +9 -0
- package/example/dist/cb28cdb1468c915e27e5cec9af64f22f.svg +1 -0
- package/example/dist/index.html +4 -0
- package/example/dist/report.html +39 -0
- package/example/dist/runtime.a27e316c40c13d63555d.js +2 -0
- package/example/dist/runtime.a27e316c40c13d63555d.js.map +1 -0
- package/example/env.config.js +6 -0
- package/example/node_modules/.package-lock.json +98 -0
- package/example/node_modules/js-tokens/CHANGELOG.md +151 -0
- package/example/node_modules/js-tokens/LICENSE +21 -0
- package/example/node_modules/js-tokens/README.md +240 -0
- package/example/node_modules/js-tokens/index.js +23 -0
- package/example/node_modules/js-tokens/package.json +30 -0
- package/example/node_modules/loose-envify/LICENSE +21 -0
- package/example/node_modules/loose-envify/README.md +45 -0
- package/example/node_modules/loose-envify/cli.js +16 -0
- package/example/node_modules/loose-envify/custom.js +4 -0
- package/example/node_modules/loose-envify/index.js +3 -0
- package/example/node_modules/loose-envify/loose-envify.js +36 -0
- package/example/node_modules/loose-envify/package.json +36 -0
- package/example/node_modules/loose-envify/replace.js +65 -0
- package/example/node_modules/object-assign/index.js +90 -0
- package/example/node_modules/object-assign/license +21 -0
- package/example/node_modules/object-assign/package.json +42 -0
- package/example/node_modules/object-assign/readme.md +61 -0
- package/example/node_modules/prop-types/LICENSE +21 -0
- package/example/node_modules/prop-types/README.md +302 -0
- package/example/node_modules/prop-types/checkPropTypes.js +103 -0
- package/example/node_modules/prop-types/factory.js +19 -0
- package/example/node_modules/prop-types/factoryWithThrowingShims.js +65 -0
- package/example/node_modules/prop-types/factoryWithTypeCheckers.js +610 -0
- package/example/node_modules/prop-types/index.js +19 -0
- package/example/node_modules/prop-types/lib/ReactPropTypesSecret.js +12 -0
- package/example/node_modules/prop-types/lib/has.js +1 -0
- package/example/node_modules/prop-types/package.json +60 -0
- package/example/node_modules/prop-types/prop-types.js +1315 -0
- package/example/node_modules/prop-types/prop-types.min.js +1 -0
- package/example/node_modules/react/LICENSE +21 -0
- package/example/node_modules/react/README.md +13 -0
- package/example/node_modules/react/build-info.json +8 -0
- package/example/node_modules/react/cjs/react-jsx-dev-runtime.development.js +889 -0
- package/example/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +9 -0
- package/example/node_modules/react/cjs/react-jsx-runtime.development.js +911 -0
- package/example/node_modules/react/cjs/react-jsx-runtime.production.min.js +10 -0
- package/example/node_modules/react/cjs/react.development.js +1912 -0
- package/example/node_modules/react/cjs/react.production.min.js +25 -0
- package/example/node_modules/react/index.js +7 -0
- package/example/node_modules/react/jsx-dev-runtime.js +7 -0
- package/example/node_modules/react/jsx-runtime.js +7 -0
- package/example/node_modules/react/package.json +44 -0
- package/example/node_modules/react/umd/react.development.js +3318 -0
- package/example/node_modules/react/umd/react.production.min.js +32 -0
- package/example/node_modules/react/umd/react.profiling.min.js +39 -0
- package/example/node_modules/react-dom/LICENSE +21 -0
- package/example/node_modules/react-dom/README.md +54 -0
- package/example/node_modules/react-dom/build-info.json +8 -0
- package/example/node_modules/react-dom/cjs/react-dom-server.browser.development.js +4043 -0
- package/example/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +54 -0
- package/example/node_modules/react-dom/cjs/react-dom-server.node.development.js +4085 -0
- package/example/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +55 -0
- package/example/node_modules/react-dom/cjs/react-dom-test-utils.development.js +1480 -0
- package/example/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +35 -0
- package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.browser.development.js +141 -0
- package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.browser.production.min.js +11 -0
- package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.node.development.js +162 -0
- package/example/node_modules/react-dom/cjs/react-dom-unstable-fizz.node.production.min.js +12 -0
- package/example/node_modules/react-dom/cjs/react-dom-unstable-native-dependencies.development.js +1629 -0
- package/example/node_modules/react-dom/cjs/react-dom-unstable-native-dependencies.production.min.js +31 -0
- package/example/node_modules/react-dom/cjs/react-dom.development.js +25012 -0
- package/example/node_modules/react-dom/cjs/react-dom.production.min.js +292 -0
- package/example/node_modules/react-dom/cjs/react-dom.profiling.min.js +299 -0
- package/example/node_modules/react-dom/index.js +38 -0
- package/example/node_modules/react-dom/package.json +60 -0
- package/example/node_modules/react-dom/profiling.js +38 -0
- package/example/node_modules/react-dom/server.browser.js +7 -0
- package/example/node_modules/react-dom/server.js +3 -0
- package/example/node_modules/react-dom/server.node.js +7 -0
- package/example/node_modules/react-dom/test-utils.js +7 -0
- package/example/node_modules/react-dom/umd/react-dom-server.browser.development.js +4147 -0
- package/example/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +45 -0
- package/example/node_modules/react-dom/umd/react-dom-test-utils.development.js +1499 -0
- package/example/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +30 -0
- package/example/node_modules/react-dom/umd/react-dom-unstable-fizz.browser.development.js +141 -0
- package/example/node_modules/react-dom/umd/react-dom-unstable-fizz.browser.production.min.js +10 -0
- package/example/node_modules/react-dom/umd/react-dom-unstable-native-dependencies.development.js +1628 -0
- package/example/node_modules/react-dom/umd/react-dom-unstable-native-dependencies.production.min.js +28 -0
- package/example/node_modules/react-dom/umd/react-dom.development.js +25147 -0
- package/example/node_modules/react-dom/umd/react-dom.production.min.js +239 -0
- package/example/node_modules/react-dom/umd/react-dom.profiling.min.js +247 -0
- package/example/node_modules/react-dom/unstable-fizz.browser.js +7 -0
- package/example/node_modules/react-dom/unstable-fizz.js +3 -0
- package/example/node_modules/react-dom/unstable-fizz.node.js +7 -0
- package/example/node_modules/react-dom/unstable-native-dependencies.js +7 -0
- package/example/node_modules/react-is/LICENSE +21 -0
- package/example/node_modules/react-is/README.md +104 -0
- package/example/node_modules/react-is/build-info.json +8 -0
- package/example/node_modules/react-is/cjs/react-is.development.js +181 -0
- package/example/node_modules/react-is/cjs/react-is.production.min.js +15 -0
- package/example/node_modules/react-is/index.js +7 -0
- package/example/node_modules/react-is/package.json +27 -0
- package/example/node_modules/react-is/umd/react-is.development.js +181 -0
- package/example/node_modules/react-is/umd/react-is.production.min.js +13 -0
- package/example/node_modules/react-test-renderer/LICENSE +21 -0
- package/example/node_modules/react-test-renderer/README.md +26 -0
- package/example/node_modules/react-test-renderer/build-info.json +8 -0
- package/example/node_modules/react-test-renderer/cjs/react-test-renderer-shallow.development.js +1019 -0
- package/example/node_modules/react-test-renderer/cjs/react-test-renderer-shallow.production.min.js +35 -0
- package/example/node_modules/react-test-renderer/cjs/react-test-renderer.development.js +15596 -0
- package/example/node_modules/react-test-renderer/cjs/react-test-renderer.production.min.js +181 -0
- package/example/node_modules/react-test-renderer/index.js +7 -0
- package/example/node_modules/react-test-renderer/package.json +41 -0
- package/example/node_modules/react-test-renderer/shallow.js +7 -0
- package/example/node_modules/react-test-renderer/umd/react-test-renderer-shallow.development.js +1176 -0
- package/example/node_modules/react-test-renderer/umd/react-test-renderer-shallow.production.min.js +31 -0
- package/example/node_modules/react-test-renderer/umd/react-test-renderer.development.js +15709 -0
- package/example/node_modules/react-test-renderer/umd/react-test-renderer.production.min.js +151 -0
- package/example/node_modules/scheduler/LICENSE +21 -0
- package/example/node_modules/scheduler/README.md +9 -0
- package/example/node_modules/scheduler/build-info.json +8 -0
- package/example/node_modules/scheduler/cjs/scheduler-tracing.development.js +349 -0
- package/example/node_modules/scheduler/cjs/scheduler-tracing.production.min.js +10 -0
- package/example/node_modules/scheduler/cjs/scheduler-tracing.profiling.min.js +17 -0
- package/example/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js +857 -0
- package/example/node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js +20 -0
- package/example/node_modules/scheduler/cjs/scheduler.development.js +858 -0
- package/example/node_modules/scheduler/cjs/scheduler.production.min.js +21 -0
- package/example/node_modules/scheduler/index.js +7 -0
- package/example/node_modules/scheduler/package.json +39 -0
- package/example/node_modules/scheduler/tracing-profiling.js +7 -0
- package/example/node_modules/scheduler/tracing.js +7 -0
- package/example/node_modules/scheduler/umd/scheduler-tracing.development.js +80 -0
- package/example/node_modules/scheduler/umd/scheduler-tracing.production.min.js +80 -0
- package/example/node_modules/scheduler/umd/scheduler-tracing.profiling.min.js +80 -0
- package/example/node_modules/scheduler/umd/scheduler-unstable_mock.development.js +857 -0
- package/example/node_modules/scheduler/umd/scheduler-unstable_mock.production.min.js +17 -0
- package/example/node_modules/scheduler/umd/scheduler.development.js +152 -0
- package/example/node_modules/scheduler/umd/scheduler.production.min.js +146 -0
- package/example/node_modules/scheduler/umd/scheduler.profiling.min.js +146 -0
- package/example/node_modules/scheduler/unstable_mock.js +7 -0
- package/example/package-lock.json +110 -0
- package/example/package.json +24 -0
- package/example/public/index.html +13 -0
- package/example/src/App.jsx +43 -0
- package/example/src/App.test.jsx +11 -0
- package/example/src/Image.tsx +16 -0
- package/example/src/__snapshots__/App.test.jsx.snap +120 -0
- package/example/src/apple.jpg +0 -0
- package/example/src/apple.svg +1 -0
- package/example/src/index.jsx +13 -0
- package/example/src/style.scss +9 -0
- package/example/tsconfig.json +16 -0
- package/index.js +7 -0
- package/lib/ConfigPreset.js +28 -0
- package/lib/createConfig.js +7 -0
- package/lib/formatter.js +10 -0
- package/lib/getBaseConfig.js +9 -0
- package/lib/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +86 -0
- package/lib/plugins/html-webpack-new-relic-plugin/LICENSE +21 -0
- package/lib/plugins/html-webpack-new-relic-plugin/README.md +7 -0
- package/lib/plugins/html-webpack-new-relic-plugin/index.js +3 -0
- package/lib/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +80 -0
- package/lib/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +1 -0
- package/lib/presets.js +75 -0
- package/lib/resolveFilepaths.js +14 -0
- package/lib/resolvePrivateEnvConfig.js +15 -0
- package/lib/scripts/serve.js +78 -0
- package/openedx.yaml +10 -0
- package/package.json +101 -0
- package/renovate.json +22 -0
- package/smoke-test.sh +11 -0
- package/tsconfig.json +22 -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
package/package.json
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@openedx/frontend-build",
|
|
3
|
+
"version": "12.10.0-alpha.1",
|
|
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": "4.0.0-alpha.1",
|
|
37
|
+
"@edx/new-relic-source-map-webpack-plugin": "2.1.0",
|
|
38
|
+
"@edx/typescript-config": "1.0.1",
|
|
39
|
+
"@formatjs/cli": "^6.0.3",
|
|
40
|
+
"@fullhuman/postcss-purgecss": "5.0.0",
|
|
41
|
+
"@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
|
|
42
|
+
"@svgr/webpack": "8.1.0",
|
|
43
|
+
"@types/jest": "^26.0.0",
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
|
45
|
+
"@typescript-eslint/parser": "^5.58.0",
|
|
46
|
+
"autoprefixer": "10.4.16",
|
|
47
|
+
"babel-jest": "27.5.1",
|
|
48
|
+
"babel-loader": "9.1.3",
|
|
49
|
+
"babel-plugin-formatjs": "^10.4.0",
|
|
50
|
+
"babel-plugin-transform-imports": "2.0.0",
|
|
51
|
+
"babel-polyfill": "6.26.0",
|
|
52
|
+
"chalk": "4.1.2",
|
|
53
|
+
"clean-webpack-plugin": "4.0.0",
|
|
54
|
+
"css-loader": "5.2.7",
|
|
55
|
+
"cssnano": "6.0.3",
|
|
56
|
+
"dotenv": "8.6.0",
|
|
57
|
+
"dotenv-webpack": "8.0.1",
|
|
58
|
+
"eslint": "8.44.0",
|
|
59
|
+
"eslint-config-airbnb": "19.0.4",
|
|
60
|
+
"eslint-config-airbnb-typescript": "^17.0.0",
|
|
61
|
+
"eslint-plugin-import": "2.27.5",
|
|
62
|
+
"eslint-plugin-jsx-a11y": "6.7.1",
|
|
63
|
+
"eslint-plugin-react": "7.32.2",
|
|
64
|
+
"eslint-plugin-react-hooks": "4.6.0",
|
|
65
|
+
"express": "4.18.2",
|
|
66
|
+
"file-loader": "6.2.0",
|
|
67
|
+
"html-webpack-plugin": "5.6.0",
|
|
68
|
+
"identity-obj-proxy": "3.0.0",
|
|
69
|
+
"image-minimizer-webpack-plugin": "3.8.3",
|
|
70
|
+
"jest": "26.6.3",
|
|
71
|
+
"mini-css-extract-plugin": "1.6.2",
|
|
72
|
+
"postcss": "8.4.33",
|
|
73
|
+
"postcss-custom-media": "10.0.2",
|
|
74
|
+
"postcss-loader": "7.3.4",
|
|
75
|
+
"postcss-rtlcss": "5.1.0",
|
|
76
|
+
"react-dev-utils": "12.0.1",
|
|
77
|
+
"react-refresh": "0.14.0",
|
|
78
|
+
"resolve-url-loader": "5.0.0",
|
|
79
|
+
"sass": "1.69.7",
|
|
80
|
+
"sass-loader": "13.3.3",
|
|
81
|
+
"sharp": "0.32.6",
|
|
82
|
+
"source-map-loader": "4.0.2",
|
|
83
|
+
"style-loader": "3.3.4",
|
|
84
|
+
"ts-jest": "26.5.0",
|
|
85
|
+
"typescript": "4.9.5",
|
|
86
|
+
"url-loader": "4.1.1",
|
|
87
|
+
"webpack": "5.89.0",
|
|
88
|
+
"webpack-bundle-analyzer": "4.10.1",
|
|
89
|
+
"webpack-cli": "5.1.4",
|
|
90
|
+
"webpack-dev-server": "4.15.1",
|
|
91
|
+
"webpack-merge": "5.10.0"
|
|
92
|
+
},
|
|
93
|
+
"devDependencies": {
|
|
94
|
+
"@babel/preset-typescript": "^7.18.6",
|
|
95
|
+
"@types/react": "^17.0.0",
|
|
96
|
+
"@types/react-dom": "^17.0.11"
|
|
97
|
+
},
|
|
98
|
+
"peerDependencies": {
|
|
99
|
+
"react": "^16.9.0 || ^17.0.0"
|
|
100
|
+
}
|
|
101
|
+
}
|
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 ../
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "@edx/typescript-config",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": ".",
|
|
5
|
+
"outDir": "dist"
|
|
6
|
+
},
|
|
7
|
+
"include": [
|
|
8
|
+
".eslintrc.js",
|
|
9
|
+
"config/.eslintrc.js",
|
|
10
|
+
"example/.eslintrc.js",
|
|
11
|
+
"example/**/*",
|
|
12
|
+
"lib",
|
|
13
|
+
"bin",
|
|
14
|
+
"config"
|
|
15
|
+
],
|
|
16
|
+
"exclude": [
|
|
17
|
+
"node_modules",
|
|
18
|
+
"dist",
|
|
19
|
+
"example/dist/*",
|
|
20
|
+
"example/node_modules/*'"
|
|
21
|
+
]
|
|
22
|
+
}
|