Skip to content

Commit ed9ab6f

Browse files
Merge branch 'master' into feature/redirect-admin-console-settings
2 parents 0b0d1b8 + f36b869 commit ed9ab6f

1,246 files changed

Lines changed: 27029 additions & 14985 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintignore

Lines changed: 0 additions & 6 deletions
This file was deleted.

.eslintrc.js

Lines changed: 0 additions & 44 deletions
This file was deleted.

.github/pull_request_template.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ Design decisions and their rationales should be documented in the repo (docstrin
55
[OEP-19](https://open-edx-proposals.readthedocs.io/en/latest/oep-0019-bp-developer-documentation.html), and can be linked here.
66

77
Useful information to include:
8+
89
- Which user roles will this change impact? Common user roles are "Learner", "Course Author",
9-
"Developer", and "Operator".
10+
"Developer", and "Operator".
1011
- Include screenshots for changes to the UI (ideally, both "before" and "after" screenshots, if applicable).
1112

1213
## Supporting information
@@ -21,6 +22,7 @@ Please provide detailed step-by-step instructions for manually testing this chan
2122
## Other information
2223

2324
Include anything else that will help reviewers and consumers understand the change.
25+
2426
- Does this change depend on other changes elsewhere?
2527
- Any special concerns or limitations? For example: deprecations, migrations, security, or accessibility.
2628

.oxlintrc.json

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,29 @@
33
"categories": {
44
"correctness": "warn"
55
},
6+
"plugins": ["react"],
67
"rules": {
7-
"eslint/no-unused-vars": "off",
8-
"typescript/unbound-method": "off", // 🛑 TEMPORARY
8+
"eslint/no-unused-vars": ["warn", {
9+
// Allow using {ignoredProp, ...keepTheRest} to omit a prop like 'ignoredProp' from an object.
10+
"ignoreRestSiblings": true
11+
}],
12+
// We disable exhaustive-deps because: it's noisy, and we often include extra deps when we want a memoized thing to
13+
// re-calculate after some change, even if we're not using that thing in the calculation.
14+
"react-hooks/exhaustive-deps": "off",
15+
// Rule of hooks is useful, but not on by default:
16+
"react/rules-of-hooks": "warn",
917
"typescript/no-floating-promises": ["error", {
1018
"allowForKnownSafeCalls": [
1119
// queryClient.invalidateQueries returns a promise that can be awaited
1220
// if you want to do something after all the subsequent refetches are
1321
// complete, but we rarely if ever want that; we usually want to
1422
// continue invalidating more things immediately. So we don't usually
1523
// want to await this.
16-
"invalidateQueries",
24+
"invalidateQueries"
1725
]
1826
}]
1927
},
2028
"ignorePatterns": [
21-
"webpack.dev-tutor.config.js",
29+
"webpack.dev-tutor.config.js"
2230
]
23-
}
31+
}

Makefile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ validate-no-uncommitted-package-lock-changes:
5151
validate:
5252
make validate-no-uncommitted-package-lock-changes
5353
npm run i18n_extract
54-
# We are trying out oxlint. Now that it's been working well for a while with both oxlint and eslint, we have disabled
55-
# eslint, and after a few weeks we'll evaluate whether any problems are slipping through if only oxlint is used.
56-
npm run oxlint
54+
npm run lint
5755
npm run types
5856
npm run test:ci
5957
npm run build

dprint.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"lineWidth": 120,
3+
"indentWidth": 2,
4+
"useTabs": false,
5+
"typescript": {
6+
"quoteStyle": "alwaysSingle",
7+
"jsx.quoteStyle": "preferDouble",
8+
"semiColons": "always",
9+
"trailingCommas": "onlyMultiLine",
10+
"useBraces": "always",
11+
"operatorPosition": "maintain",
12+
"arrowFunction.useParentheses": "maintain",
13+
"module.sortImportDeclarations": "maintain",
14+
"importDeclaration.sortNamedImports": "maintain",
15+
"importDeclaration.preferSingleLine": false,
16+
"exportDeclaration.sortNamedExports": "maintain"
17+
},
18+
"json": {
19+
},
20+
"markdown": {
21+
},
22+
"excludes": [
23+
"**/node_modules",
24+
"**/*-lock.json",
25+
"**/dist",
26+
"**/coverage",
27+
"jest.config.js",
28+
"env.config.*",
29+
"example.env.config.*",
30+
"module.config.js",
31+
"**/messages.{ts,js}"
32+
],
33+
"plugins": [
34+
"https://plugins.dprint.dev/typescript-0.95.15.wasm",
35+
"https://plugins.dprint.dev/json-0.21.3.wasm",
36+
"https://plugins.dprint.dev/markdown-0.21.1.wasm"
37+
]
38+
}

dprint.messages.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
// For messages files, we allow unlimited line length, to keep the file format consistent.
3+
// For now a separate file is required, but this could be simplified when
4+
// https://github.com/dprint/dprint/issues/996 is implemented or if we change to a different formatter.
5+
"extends": "dprint.json",
6+
"lineWidth": 10000,
7+
"includes": ["src/**/messages.{ts,js}"]
8+
// Because this inherits "excludes" from "dprint.json", it's necessary to use "--excludes-override none"
9+
// to run this on the command line.
10+
}

jest.config.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const { createConfig } = require('@openedx/frontend-build');
22

3-
module.exports = createConfig('jest', {
3+
const mergedConfig = createConfig('jest', {
44
setupFilesAfterEnv: [
55
'jest-expect-message',
66
'<rootDir>/src/setupTest.js',
@@ -16,6 +16,24 @@ module.exports = createConfig('jest', {
1616
// This alias is used for plugins in the plugins/ folder only.
1717
'^CourseAuthoring/(.*)$': '<rootDir>/src/$1',
1818
},
19-
modulePathIgnorePatterns: [
20-
],
19+
modulePathIgnorePatterns: [],
2120
});
21+
22+
// Override ts-jest config: When transforming .ts files to .js for test purposes,
23+
// don't report TypeScript errors for files in `node_modules/` (or any non-test files).
24+
// Without this, we were seeing TypeScript errors from
25+
// node_modules/@edx/frontend-component-header/dist/studio-header/StudioHeader.tsx
26+
// cause the tests to fail, because they are included in `transformIgnorePatterns`.
27+
// -> If you can delete the following lines and the tests still pass, then feel free
28+
// to remove this whole override. It's only necessary now while StudioHeader has some
29+
// typing issues.
30+
mergedConfig.transform['^.+\\.[tj]sx?$'] = [
31+
'ts-jest',
32+
{
33+
diagnostics: {
34+
exclude: ['!**/*.test.*'],
35+
},
36+
},
37+
];
38+
39+
module.exports = mergedConfig;

0 commit comments

Comments
 (0)