Skip to content

Commit f2c9ed7

Browse files
authored
Merge branch 'WordPress:trunk' into trunk
2 parents 3ca7367 + 8c80c0e commit f2c9ed7

File tree

5,844 files changed

+435086
-207176
lines changed

Some content is hidden

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

5,844 files changed

+435086
-207176
lines changed

.eslintrc.js

+65-119
Original file line numberDiff line numberDiff line change
@@ -44,132 +44,23 @@ const restrictedImports = [
4444
},
4545
{
4646
name: 'lodash',
47-
importNames: [
48-
'camelCase',
49-
'capitalize',
50-
'castArray',
51-
'chunk',
52-
'clamp',
53-
'clone',
54-
'cloneDeep',
55-
'compact',
56-
'concat',
57-
'countBy',
58-
'debounce',
59-
'deburr',
60-
'defaults',
61-
'defaultTo',
62-
'delay',
63-
'difference',
64-
'differenceWith',
65-
'dropRight',
66-
'each',
67-
'escape',
68-
'escapeRegExp',
69-
'every',
70-
'extend',
71-
'filter',
72-
'find',
73-
'findIndex',
74-
'findKey',
75-
'findLast',
76-
'first',
77-
'flatMap',
78-
'flatten',
79-
'flattenDeep',
80-
'flow',
81-
'flowRight',
82-
'forEach',
83-
'fromPairs',
84-
'has',
85-
'identity',
86-
'includes',
87-
'invoke',
88-
'isArray',
89-
'isBoolean',
90-
'isEqual',
91-
'isFinite',
92-
'isFunction',
93-
'isMatch',
94-
'isNil',
95-
'isNumber',
96-
'isObject',
97-
'isObjectLike',
98-
'isPlainObject',
99-
'isString',
100-
'isUndefined',
101-
'keyBy',
102-
'keys',
103-
'last',
104-
'lowerCase',
105-
'map',
106-
'mapKeys',
107-
'maxBy',
108-
'memoize',
109-
'negate',
110-
'noop',
111-
'nth',
112-
'omit',
113-
'omitBy',
114-
'once',
115-
'orderby',
116-
'overEvery',
117-
'partial',
118-
'partialRight',
119-
'pick',
120-
'pickBy',
121-
'random',
122-
'reduce',
123-
'reject',
124-
'repeat',
125-
'reverse',
126-
'setWith',
127-
'size',
128-
'snakeCase',
129-
'some',
130-
'sortBy',
131-
'startCase',
132-
'startsWith',
133-
'stubFalse',
134-
'stubTrue',
135-
'sum',
136-
'sumBy',
137-
'take',
138-
'throttle',
139-
'times',
140-
'toString',
141-
'trim',
142-
'truncate',
143-
'unescape',
144-
'unionBy',
145-
'uniq',
146-
'uniqBy',
147-
'uniqueId',
148-
'uniqWith',
149-
'upperFirst',
150-
'values',
151-
'without',
152-
'words',
153-
'xor',
154-
'zip',
155-
],
156-
message:
157-
'This Lodash method is not recommended. Please use native functionality instead. If using `memoize`, please use `memize` instead.',
47+
message: 'Please use native functionality instead.',
15848
},
15949
{
16050
name: 'reakit',
16151
message:
16252
'Please use Reakit API through `@wordpress/components` instead.',
16353
},
54+
{
55+
name: '@ariakit/react',
56+
message:
57+
'Please use Ariakit API through `@wordpress/components` instead.',
58+
},
16459
{
16560
name: 'redux',
16661
importNames: [ 'combineReducers' ],
16762
message: 'Please use `combineReducers` from `@wordpress/data` instead.',
16863
},
169-
{
170-
name: 'puppeteer-testing-library',
171-
message: '`puppeteer-testing-library` is still experimental.',
172-
},
17364
{
17465
name: '@emotion/css',
17566
message:
@@ -197,6 +88,7 @@ module.exports = {
19788
extends: [
19889
'plugin:@wordpress/eslint-plugin/recommended',
19990
'plugin:eslint-comments/recommended',
91+
'plugin:storybook/recommended',
20092
],
20193
globals: {
20294
wp: 'off',
@@ -242,6 +134,13 @@ module.exports = {
242134
],
243135
},
244136
],
137+
'@typescript-eslint/consistent-type-imports': [
138+
'error',
139+
{
140+
prefer: 'type-imports',
141+
disallowTypeAnnotations: false,
142+
},
143+
],
245144
'no-restricted-syntax': [
246145
'error',
247146
// NOTE: We can't include the forward slash in our regex or
@@ -349,15 +248,20 @@ module.exports = {
349248
},
350249
},
351250
{
352-
files: [ 'packages/components/src/**/*.[tj]s?(x)' ],
251+
files: [
252+
// Components package.
253+
'packages/components/src/**/*.[tj]s?(x)',
254+
// Navigation block.
255+
'packages/block-library/src/navigation/**/*.[tj]s?(x)',
256+
],
353257
excludedFiles: [ ...developmentFiles ],
354258
rules: {
355259
'react-hooks/exhaustive-deps': 'error',
356260
},
357261
},
358262
{
359263
files: [ 'packages/jest*/**/*.js', '**/test/**/*.js' ],
360-
excludedFiles: [ 'test/e2e/**/*.js' ],
264+
excludedFiles: [ 'test/e2e/**/*.js', 'test/performance/**/*.js' ],
361265
extends: [ 'plugin:@wordpress/eslint-plugin/test-unit' ],
362266
},
363267
{
@@ -367,6 +271,7 @@ module.exports = {
367271
'packages/react-native-*/**/*.[tj]s?(x)',
368272
'test/native/**/*.[tj]s?(x)',
369273
'test/e2e/**/*.[tj]s?(x)',
274+
'test/performance/**/*.[tj]s?(x)',
370275
'test/storybook-playwright/**/*.[tj]s?(x)',
371276
],
372277
extends: [
@@ -386,13 +291,24 @@ module.exports = {
386291
{
387292
files: [
388293
'test/e2e/**/*.[tj]s',
294+
'test/performance/**/*.[tj]s',
389295
'packages/e2e-test-utils-playwright/**/*.[tj]s',
390296
],
391-
extends: [ 'plugin:eslint-plugin-playwright/playwright-test' ],
297+
extends: [
298+
'plugin:@wordpress/eslint-plugin/test-playwright',
299+
'plugin:@typescript-eslint/base',
300+
],
301+
parserOptions: {
302+
tsconfigRootDir: __dirname,
303+
project: [
304+
'./test/e2e/tsconfig.json',
305+
'./test/performance/tsconfig.json',
306+
'./packages/e2e-test-utils-playwright/tsconfig.json',
307+
],
308+
},
392309
rules: {
393310
'@wordpress/no-global-active-element': 'off',
394311
'@wordpress/no-global-get-selection': 'off',
395-
'playwright/no-page-pause': 'error',
396312
'no-restricted-syntax': [
397313
'error',
398314
{
@@ -411,6 +327,10 @@ module.exports = {
411327
message: 'Prefer page.locator instead.',
412328
},
413329
],
330+
'playwright/no-conditional-in-test': 'off',
331+
'@typescript-eslint/await-thenable': 'error',
332+
'@typescript-eslint/no-floating-promises': 'error',
333+
'@typescript-eslint/no-misused-promises': 'error',
414334
},
415335
},
416336
{
@@ -437,6 +357,26 @@ module.exports = {
437357
'jsdoc/require-param': 'off',
438358
},
439359
},
360+
{
361+
files: [ 'packages/components/src/**' ],
362+
excludedFiles: [ 'packages/components/src/utils/colors-values.js' ],
363+
rules: {
364+
'no-restricted-syntax': [
365+
'error',
366+
{
367+
selector: 'Literal[value=/--wp-admin-theme-/]',
368+
message:
369+
'--wp-admin-theme-* variables do not support component theming. Use variables from the COLORS object in packages/components/src/utils/colors-values.js instead.',
370+
},
371+
{
372+
selector:
373+
'TemplateElement[value.cooked=/--wp-admin-theme-/]',
374+
message:
375+
'--wp-admin-theme-* variables do not support component theming. Use variables from the COLORS object in packages/components/src/utils/colors-values.js instead.',
376+
},
377+
],
378+
},
379+
},
440380
{
441381
files: [ 'packages/components/src/**' ],
442382
excludedFiles: [ 'packages/components/src/**/@(test|stories)/**' ],
@@ -466,5 +406,11 @@ module.exports = {
466406
],
467407
},
468408
},
409+
{
410+
files: [ 'packages/interactivity*/src/**' ],
411+
rules: {
412+
'react/react-in-jsx-scope': 'error',
413+
},
414+
},
469415
],
470416
};

.git-blame-ignore-revs

+6
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,9 @@ f63053cace3c02e284f00918e1854284c85b9132
66

77
# Prettier upgrade to 2.6.2.
88
33d84b036592a5bf31af05b7710f3b2b14163dc4
9+
10+
# Prettier upgrade to 2.8.5.
11+
c56e8a1910ed74f405b74bbb12fe81dea974e5c3
12+
13+
# Prettier upgrade to 3.0.3.
14+
0bee15148fe4330c20cf372cb46a33693e45cb5f

.github/CODEOWNERS

+15-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Documentation
2-
/docs @ajitbohra @ryanwelcher @juanmaguitar @fabiankaegy
2+
/docs @ajitbohra @ryanwelcher @juanmaguitar @fabiankaegy @ndiego
3+
/packages/interactivity/docs @juanmaguitar
34

45
# Schemas
56
/schemas/json @ajlende
@@ -21,6 +22,7 @@
2122
/packages/block-library/src/comment-template @michalczaplinski
2223
/packages/block-library/src/comments @michalczaplinski
2324
/packages/block-library/src/table-of-contents @ZebulanStanphill
25+
/packages/block-library/src/image @artemiomorales @michalczaplinski
2426

2527
# Duotone
2628
/lib/block-supports/duotone.php @ajlende
@@ -54,17 +56,19 @@
5456
# Full Site Editing
5557
/packages/edit-site
5658

59+
# Interactivity API
60+
/packages/interactivity @luisherranz @darerodz
61+
5762
# Tooling
5863
/bin @ntwb @nerrad @ajitbohra
5964
/bin/api-docs @ntwb @nerrad @ajitbohra
60-
/docs/tool @ajitbohra
65+
/docs/tool @ajitbohra @ndiego
6166
/packages/babel-plugin-import-jsx-pragma @ntwb @nerrad @ajitbohra
6267
/packages/babel-plugin-makepot @ntwb @nerrad @ajitbohra
6368
/packages/babel-preset-default @gziolo @ntwb @nerrad @ajitbohra
6469
/packages/browserslist-config @ntwb @nerrad @ajitbohra
6570
/packages/create-block @gziolo @ryanwelcher
6671
/packages/create-block-tutorial-template @gziolo @ryanwelcher
67-
/packages/custom-templated-path-webpack-plugin @ntwb @nerrad @ajitbohra
6872
/packages/dependency-extraction-webpack-plugin @gziolo
6973
/packages/docgen
7074
/packages/e2e-test-utils @ntwb @nerrad @ajitbohra
@@ -74,19 +78,20 @@
7478
/packages/jest-console @gziolo @ntwb @nerrad @ajitbohra
7579
/packages/jest-preset-default @gziolo @ntwb @nerrad @ajitbohra
7680
/packages/jest-puppeteer-axe @gziolo @ntwb @nerrad @ajitbohra
77-
/packages/library-export-default-webpack-plugin @ntwb @nerrad @ajitbohra
7881
/packages/npm-package-json-lint-config @gziolo @ntwb @nerrad @ajitbohra
7982
/packages/postcss-themes @ntwb @nerrad @ajitbohra
8083
/packages/prettier-config @ntwb @gziolo
8184
/packages/scripts @gziolo @ntwb @nerrad @ajitbohra @ryanwelcher
8285
/packages/stylelint-config @ntwb
83-
/test/e2e @kevin940726
86+
/test/e2e @kevin940726 @Mamaduka
87+
/test/php/gutenberg-coding-standards @anton-vlasenko
8488

8589
# UI Components
8690
/packages/components @ajitbohra
8791
/packages/compose @ajitbohra
8892
/packages/element @ajitbohra
8993
/packages/notices @ajitbohra
94+
/packages/nux @ajitbohra @peterwilsoncc
9095
/packages/viewport @ajitbohra
9196
/packages/base-styles
9297
/packages/icons
@@ -117,20 +122,21 @@
117122
/packages/plugins @gziolo @adamsilverstein
118123

119124
# Rich Text
120-
/packages/format-library @ellatrix @fluiddot
121-
/packages/rich-text @ellatrix @fluiddot
122-
/packages/block-editor/src/components/rich-text @ellatrix @fluiddot
125+
/packages/format-library @ellatrix @fluiddot @dcalhoun
126+
/packages/rich-text @ellatrix @fluiddot @dcalhoun
127+
/packages/block-editor/src/components/rich-text @ellatrix @fluiddot @dcalhoun
123128

124129
# Project Management
125130
/.github
126131
/packages/project-management-automation
127132
/packages/report-flaky-tests @kevin940726
128133

129134
# wp-env
130-
/packages/env @noahtallen
135+
/packages/env @ObliviousHarmony @t-hamano
131136

132137
# PHP
133138
/lib @spacedmonkey
139+
/lib/compat/*/html-api @dmsnell
134140
/lib/experimental/rest-api.php @timothybjacobs
135141
/lib/experimental/class-wp-rest-* @timothybjacobs
136142
/lib/experimental/class-wp-rest-block-editor-settings-controller.php @timothybjacobs @spacedmonkey @geriux

.github/ISSUE_TEMPLATE/Bug_report.yml

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: Bug report
22
description: Report a bug with the WordPress block editor or Gutenberg plugin
3+
labels: ['[Type] Bug']
34
body:
45
- type: markdown
56
attributes:

.github/ISSUE_TEMPLATE/Feature_request.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
name: Feature request
33
about: Propose an idea for a feature or an enhancement
4+
labels: "[Type] Enhancement"
45

56
---
67

0 commit comments

Comments
 (0)