@wordpress/e2e-test-utils-playwright 1.46.0 → 1.48.0
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/build-types/admin/index.d.ts +3 -0
- package/build-types/admin/index.d.ts.map +1 -1
- package/build-types/admin/visit-site-editor.d.ts.map +1 -1
- package/build-types/admin/wait-for-site-editor.d.ts +12 -0
- package/build-types/admin/wait-for-site-editor.d.ts.map +1 -0
- package/build-types/metrics/index.d.ts +22 -5
- package/build-types/metrics/index.d.ts.map +1 -1
- package/build-types/request-utils/index.d.ts +3 -1
- package/build-types/request-utils/index.d.ts.map +1 -1
- package/build-types/request-utils/preferences.d.ts +11 -0
- package/build-types/request-utils/preferences.d.ts.map +1 -1
- package/package.json +4 -5
- package/src/admin/create-new-post.ts +47 -0
- package/src/admin/edit-post.ts +24 -0
- package/{build/admin/get-page-error.js → src/admin/get-page-error.ts} +12 -9
- package/src/admin/index.ts +52 -0
- package/src/admin/visit-admin-page.ts +43 -0
- package/src/admin/visit-site-editor.ts +62 -0
- package/src/admin/wait-for-site-editor.ts +52 -0
- package/src/config.ts +12 -0
- package/src/editor/click-block-options-menu-item.ts +18 -0
- package/src/editor/click-block-toolbar-button.ts +21 -0
- package/src/editor/get-blocks.ts +75 -0
- package/src/editor/get-edited-post-content.ts +19 -0
- package/src/editor/index.ts +95 -0
- package/src/editor/insert-block.ts +54 -0
- package/src/editor/open-document-settings-sidebar.ts +31 -0
- package/src/editor/preview.ts +32 -0
- package/src/editor/publish-post.ts +51 -0
- package/src/editor/save-draft.ts +20 -0
- package/src/editor/select-blocks.ts +48 -0
- package/src/editor/set-content.ts +24 -0
- package/src/editor/set-is-fixed-toolbar.ts +20 -0
- package/src/editor/set-preferences.ts +37 -0
- package/src/editor/show-block-toolbar.ts +20 -0
- package/src/editor/site-editor.ts +55 -0
- package/src/editor/switch-editor-tool.ts +34 -0
- package/src/editor/switch-to-legacy-canvas.ts +20 -0
- package/src/editor/transform-block-to.ts +34 -0
- package/src/index.ts +8 -0
- package/src/lighthouse/index.ts +75 -0
- package/src/metrics/index.ts +441 -0
- package/src/page-utils/drag-files.ts +173 -0
- package/src/page-utils/emulate-network-conditions.ts +101 -0
- package/src/page-utils/index.ts +54 -0
- package/src/page-utils/is-current-url.ts +20 -0
- package/src/page-utils/keycodes.ts +48 -0
- package/src/page-utils/press-keys.ts +195 -0
- package/{build → src}/page-utils/set-browser-viewport.js +14 -12
- package/src/request-utils/blocks.ts +58 -0
- package/src/request-utils/comments.ts +80 -0
- package/src/request-utils/gutenberg-experiments.ts +62 -0
- package/src/request-utils/index.ts +222 -0
- package/src/request-utils/login.ts +34 -0
- package/src/request-utils/media.ts +102 -0
- package/src/request-utils/menus.ts +145 -0
- package/src/request-utils/pages.ts +75 -0
- package/src/request-utils/patterns.ts +31 -0
- package/src/request-utils/plugins.ts +103 -0
- package/src/request-utils/posts.ts +69 -0
- package/src/request-utils/preferences.ts +63 -0
- package/{build/request-utils/records.js → src/request-utils/records.ts} +15 -10
- package/src/request-utils/rest.ts +222 -0
- package/src/request-utils/site-settings.ts +58 -0
- package/src/request-utils/templates.ts +83 -0
- package/src/request-utils/themes.ts +110 -0
- package/src/request-utils/users.ts +125 -0
- package/src/request-utils/widgets.js +68 -0
- package/src/test.ts +204 -0
- package/src/types.ts +13 -0
- package/build/admin/create-new-post.cjs +0 -51
- package/build/admin/create-new-post.cjs.map +0 -7
- package/build/admin/create-new-post.js +0 -31
- package/build/admin/create-new-post.js.map +0 -1
- package/build/admin/edit-post.cjs +0 -40
- package/build/admin/edit-post.cjs.map +0 -7
- package/build/admin/edit-post.js +0 -20
- package/build/admin/edit-post.js.map +0 -1
- package/build/admin/get-page-error.cjs +0 -36
- package/build/admin/get-page-error.cjs.map +0 -7
- package/build/admin/get-page-error.js.map +0 -1
- package/build/admin/index.cjs +0 -59
- package/build/admin/index.cjs.map +0 -7
- package/build/admin/index.js +0 -37
- package/build/admin/index.js.map +0 -1
- package/build/admin/visit-admin-page.cjs +0 -47
- package/build/admin/visit-admin-page.cjs.map +0 -7
- package/build/admin/visit-admin-page.js +0 -32
- package/build/admin/visit-admin-page.js.map +0 -1
- package/build/admin/visit-site-editor.cjs +0 -90
- package/build/admin/visit-site-editor.cjs.map +0 -7
- package/build/admin/visit-site-editor.js +0 -73
- package/build/admin/visit-site-editor.js.map +0 -1
- package/build/config.cjs +0 -45
- package/build/config.cjs.map +0 -7
- package/build/config.js +0 -13
- package/build/config.js.map +0 -1
- package/build/editor/click-block-options-menu-item.cjs +0 -34
- package/build/editor/click-block-options-menu-item.cjs.map +0 -7
- package/build/editor/click-block-options-menu-item.js +0 -17
- package/build/editor/click-block-options-menu-item.js.map +0 -1
- package/build/editor/click-block-toolbar-button.cjs +0 -38
- package/build/editor/click-block-toolbar-button.cjs.map +0 -7
- package/build/editor/click-block-toolbar-button.js +0 -16
- package/build/editor/click-block-toolbar-button.js.map +0 -1
- package/build/editor/get-blocks.cjs +0 -64
- package/build/editor/get-blocks.cjs.map +0 -7
- package/build/editor/get-blocks.js +0 -45
- package/build/editor/get-blocks.js.map +0 -1
- package/build/editor/get-edited-post-content.cjs +0 -36
- package/build/editor/get-edited-post-content.cjs.map +0 -7
- package/build/editor/get-edited-post-content.js +0 -15
- package/build/editor/get-edited-post-content.js.map +0 -1
- package/build/editor/index.cjs +0 -97
- package/build/editor/index.cjs.map +0 -7
- package/build/editor/index.js +0 -75
- package/build/editor/index.js.map +0 -1
- package/build/editor/insert-block.cjs +0 -55
- package/build/editor/insert-block.cjs.map +0 -7
- package/build/editor/insert-block.js +0 -23
- package/build/editor/insert-block.js.map +0 -1
- package/build/editor/open-document-settings-sidebar.cjs +0 -42
- package/build/editor/open-document-settings-sidebar.cjs.map +0 -7
- package/build/editor/open-document-settings-sidebar.js +0 -27
- package/build/editor/open-document-settings-sidebar.js.map +0 -1
- package/build/editor/preview.cjs +0 -42
- package/build/editor/preview.cjs.map +0 -7
- package/build/editor/preview.js +0 -21
- package/build/editor/preview.js.map +0 -1
- package/build/editor/publish-post.cjs +0 -47
- package/build/editor/publish-post.cjs.map +0 -7
- package/build/editor/publish-post.js +0 -45
- package/build/editor/publish-post.js.map +0 -1
- package/build/editor/save-draft.cjs +0 -34
- package/build/editor/save-draft.cjs.map +0 -7
- package/build/editor/save-draft.js +0 -18
- package/build/editor/save-draft.js.map +0 -1
- package/build/editor/select-blocks.cjs +0 -51
- package/build/editor/select-blocks.cjs.map +0 -7
- package/build/editor/select-blocks.js +0 -28
- package/build/editor/select-blocks.js.map +0 -1
- package/build/editor/set-content.cjs +0 -39
- package/build/editor/set-content.cjs.map +0 -7
- package/build/editor/set-content.js +0 -17
- package/build/editor/set-content.js.map +0 -1
- package/build/editor/set-is-fixed-toolbar.cjs +0 -36
- package/build/editor/set-is-fixed-toolbar.cjs.map +0 -7
- package/build/editor/set-is-fixed-toolbar.js +0 -18
- package/build/editor/set-is-fixed-toolbar.js.map +0 -1
- package/build/editor/set-preferences.cjs +0 -43
- package/build/editor/set-preferences.cjs.map +0 -7
- package/build/editor/set-preferences.js +0 -21
- package/build/editor/set-preferences.js.map +0 -1
- package/build/editor/show-block-toolbar.cjs +0 -35
- package/build/editor/show-block-toolbar.cjs.map +0 -7
- package/build/editor/show-block-toolbar.js +0 -19
- package/build/editor/show-block-toolbar.js.map +0 -1
- package/build/editor/site-editor.cjs +0 -51
- package/build/editor/site-editor.cjs.map +0 -7
- package/build/editor/site-editor.js +0 -44
- package/build/editor/site-editor.js.map +0 -1
- package/build/editor/switch-editor-tool.cjs +0 -47
- package/build/editor/switch-editor-tool.cjs.map +0 -7
- package/build/editor/switch-editor-tool.js +0 -33
- package/build/editor/switch-editor-tool.js.map +0 -1
- package/build/editor/switch-to-legacy-canvas.cjs +0 -39
- package/build/editor/switch-to-legacy-canvas.cjs.map +0 -7
- package/build/editor/switch-to-legacy-canvas.js +0 -18
- package/build/editor/switch-to-legacy-canvas.js.map +0 -1
- package/build/editor/transform-block-to.cjs +0 -46
- package/build/editor/transform-block-to.cjs.map +0 -7
- package/build/editor/transform-block-to.js +0 -24
- package/build/editor/transform-block-to.js.map +0 -1
- package/build/index.cjs +0 -51
- package/build/index.cjs.map +0 -7
- package/build/index.js +0 -19
- package/build/index.js.map +0 -1
- package/build/lighthouse/index.cjs +0 -96
- package/build/lighthouse/index.cjs.map +0 -7
- package/build/lighthouse/index.js +0 -61
- package/build/lighthouse/index.js.map +0 -1
- package/build/metrics/index.cjs +0 -309
- package/build/metrics/index.cjs.map +0 -7
- package/build/metrics/index.js +0 -258
- package/build/metrics/index.js.map +0 -1
- package/build/page-utils/drag-files.cjs +0 -143
- package/build/page-utils/drag-files.cjs.map +0 -7
- package/build/page-utils/drag-files.js +0 -119
- package/build/page-utils/drag-files.js.map +0 -1
- package/build/page-utils/emulate-network-conditions.cjs +0 -99
- package/build/page-utils/emulate-network-conditions.cjs.map +0 -7
- package/build/page-utils/emulate-network-conditions.js +0 -71
- package/build/page-utils/emulate-network-conditions.js.map +0 -1
- package/build/page-utils/index.cjs +0 -59
- package/build/page-utils/index.cjs.map +0 -7
- package/build/page-utils/index.js +0 -37
- package/build/page-utils/index.js.map +0 -1
- package/build/page-utils/is-current-url.cjs +0 -36
- package/build/page-utils/is-current-url.cjs.map +0 -7
- package/build/page-utils/is-current-url.js +0 -21
- package/build/page-utils/is-current-url.js.map +0 -1
- package/build/page-utils/keycodes.cjs +0 -55
- package/build/page-utils/keycodes.cjs.map +0 -7
- package/build/page-utils/keycodes.js +0 -41
- package/build/page-utils/keycodes.js.map +0 -1
- package/build/page-utils/press-keys.cjs +0 -165
- package/build/page-utils/press-keys.cjs.map +0 -7
- package/build/page-utils/press-keys.js +0 -141
- package/build/page-utils/press-keys.js.map +0 -1
- package/build/page-utils/set-browser-viewport.cjs +0 -39
- package/build/page-utils/set-browser-viewport.cjs.map +0 -7
- package/build/page-utils/set-browser-viewport.js.map +0 -1
- package/build/request-utils/blocks.cjs +0 -51
- package/build/request-utils/blocks.cjs.map +0 -7
- package/build/request-utils/blocks.js +0 -40
- package/build/request-utils/blocks.js.map +0 -1
- package/build/request-utils/comments.cjs +0 -66
- package/build/request-utils/comments.cjs.map +0 -7
- package/build/request-utils/comments.js +0 -52
- package/build/request-utils/comments.js.map +0 -1
- package/build/request-utils/gutenberg-experiments.cjs +0 -56
- package/build/request-utils/gutenberg-experiments.cjs.map +0 -7
- package/build/request-utils/gutenberg-experiments.js +0 -47
- package/build/request-utils/gutenberg-experiments.js.map +0 -1
- package/build/request-utils/index.cjs +0 -199
- package/build/request-utils/index.cjs.map +0 -7
- package/build/request-utils/index.js +0 -194
- package/build/request-utils/index.js.map +0 -1
- package/build/request-utils/login.cjs +0 -48
- package/build/request-utils/login.cjs.map +0 -7
- package/build/request-utils/login.js +0 -21
- package/build/request-utils/login.js.map +0 -1
- package/build/request-utils/media.cjs +0 -83
- package/build/request-utils/media.cjs.map +0 -7
- package/build/request-utils/media.js +0 -106
- package/build/request-utils/media.js.map +0 -1
- package/build/request-utils/menus.cjs +0 -128
- package/build/request-utils/menus.cjs.map +0 -7
- package/build/request-utils/menus.js +0 -116
- package/build/request-utils/menus.js.map +0 -1
- package/build/request-utils/pages.cjs +0 -66
- package/build/request-utils/pages.cjs.map +0 -7
- package/build/request-utils/pages.js +0 -53
- package/build/request-utils/pages.js.map +0 -1
- package/build/request-utils/patterns.cjs +0 -44
- package/build/request-utils/patterns.cjs.map +0 -7
- package/build/request-utils/patterns.js +0 -27
- package/build/request-utils/patterns.js.map +0 -1
- package/build/request-utils/plugins.cjs +0 -81
- package/build/request-utils/plugins.cjs.map +0 -7
- package/build/request-utils/plugins.js +0 -85
- package/build/request-utils/plugins.js.map +0 -1
- package/build/request-utils/posts.cjs +0 -56
- package/build/request-utils/posts.cjs.map +0 -7
- package/build/request-utils/posts.js +0 -42
- package/build/request-utils/posts.js.map +0 -1
- package/build/request-utils/preferences.cjs +0 -41
- package/build/request-utils/preferences.cjs.map +0 -7
- package/build/request-utils/preferences.js +0 -20
- package/build/request-utils/preferences.js.map +0 -1
- package/build/request-utils/records.cjs +0 -37
- package/build/request-utils/records.cjs.map +0 -7
- package/build/request-utils/records.js.map +0 -1
- package/build/request-utils/rest.cjs +0 -174
- package/build/request-utils/rest.cjs.map +0 -7
- package/build/request-utils/rest.js +0 -181
- package/build/request-utils/rest.js.map +0 -1
- package/build/request-utils/site-settings.cjs +0 -45
- package/build/request-utils/site-settings.cjs.map +0 -7
- package/build/request-utils/site-settings.js +0 -33
- package/build/request-utils/site-settings.js.map +0 -1
- package/build/request-utils/templates.cjs +0 -68
- package/build/request-utils/templates.cjs.map +0 -7
- package/build/request-utils/templates.js +0 -54
- package/build/request-utils/templates.js.map +0 -1
- package/build/request-utils/themes.cjs +0 -92
- package/build/request-utils/themes.cjs.map +0 -7
- package/build/request-utils/themes.js +0 -69
- package/build/request-utils/themes.js.map +0 -1
- package/build/request-utils/users.cjs +0 -83
- package/build/request-utils/users.cjs.map +0 -7
- package/build/request-utils/users.js +0 -81
- package/build/request-utils/users.js.map +0 -1
- package/build/request-utils/widgets.cjs +0 -79
- package/build/request-utils/widgets.cjs.map +0 -7
- package/build/request-utils/widgets.js +0 -61
- package/build/request-utils/widgets.js.map +0 -1
- package/build/test.cjs +0 -136
- package/build/test.cjs.map +0 -7
- package/build/test.js +0 -189
- package/build/test.js.map +0 -1
- package/build/types.cjs +0 -19
- package/build/types.cjs.map +0 -7
- package/build/types.js +0 -3
- package/build/types.js.map +0 -1
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// packages/e2e-test-utils-playwright/src/request-utils/templates.ts
|
|
21
|
-
var templates_exports = {};
|
|
22
|
-
__export(templates_exports, {
|
|
23
|
-
createTemplate: () => createTemplate,
|
|
24
|
-
deleteAllTemplates: () => deleteAllTemplates
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(templates_exports);
|
|
27
|
-
var PATH_MAPPING = {
|
|
28
|
-
wp_template: "/wp/v2/templates",
|
|
29
|
-
wp_template_part: "/wp/v2/template-parts"
|
|
30
|
-
};
|
|
31
|
-
async function deleteAllTemplates(type) {
|
|
32
|
-
const path = PATH_MAPPING[type];
|
|
33
|
-
if (!path) {
|
|
34
|
-
throw new Error(`Unsupported template type: ${type}.`);
|
|
35
|
-
}
|
|
36
|
-
const templates = await this.rest({ path });
|
|
37
|
-
for (const template of templates) {
|
|
38
|
-
if (!template?.id || !template?.wp_id) {
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
try {
|
|
42
|
-
await this.rest({
|
|
43
|
-
method: "DELETE",
|
|
44
|
-
path: `${path}/${template.id}`,
|
|
45
|
-
params: { force: true }
|
|
46
|
-
});
|
|
47
|
-
} catch (responseError) {
|
|
48
|
-
console.warn(
|
|
49
|
-
`deleteAllTemplates failed to delete template (id: ${template.wp_id}) with the following error`,
|
|
50
|
-
responseError
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async function createTemplate(type, payload) {
|
|
56
|
-
const template = await this.rest({
|
|
57
|
-
method: "POST",
|
|
58
|
-
path: PATH_MAPPING[type],
|
|
59
|
-
params: { ...payload, type, status: "publish", is_wp_suggestion: true }
|
|
60
|
-
});
|
|
61
|
-
return template;
|
|
62
|
-
}
|
|
63
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
64
|
-
0 && (module.exports = {
|
|
65
|
-
createTemplate,
|
|
66
|
-
deleteAllTemplates
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=templates.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/request-utils/templates.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { RequestUtils } from './index';\n\ntype TemplateType = 'wp_template' | 'wp_template_part';\n\ninterface Template {\n\twp_id: number;\n\tid: string;\n}\n\ninterface CreateTemplatePayload {\n\tslug: string;\n\ttitle?: string;\n\tcontent?: string;\n\tdescription?: string;\n}\n\nconst PATH_MAPPING = {\n\twp_template: '/wp/v2/templates',\n\twp_template_part: '/wp/v2/template-parts',\n};\n\n/**\n * Delete all the templates of given type.\n *\n * @param this\n * @param type - Template type to delete.\n */\nasync function deleteAllTemplates( this: RequestUtils, type: TemplateType ) {\n\tconst path = PATH_MAPPING[ type ];\n\n\tif ( ! path ) {\n\t\tthrow new Error( `Unsupported template type: ${ type }.` );\n\t}\n\n\tconst templates = await this.rest< Template[] >( { path } );\n\n\tfor ( const template of templates ) {\n\t\tif ( ! template?.id || ! template?.wp_id ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.rest( {\n\t\t\t\tmethod: 'DELETE',\n\t\t\t\tpath: `${ path }/${ template.id }`,\n\t\t\t\tparams: { force: true },\n\t\t\t} );\n\t\t} catch ( responseError ) {\n\t\t\t// Disable reason - the error provides valuable feedback about issues with tests.\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(\n\t\t\t\t`deleteAllTemplates failed to delete template (id: ${ template.wp_id }) with the following error`,\n\t\t\t\tresponseError\n\t\t\t);\n\t\t}\n\t}\n}\n\n/**\n * Creates a new template using the REST API.\n *\n * @param this\n * @param type Template type to delete.\n * @param payload Template attributes.\n */\nasync function createTemplate(\n\tthis: RequestUtils,\n\ttype: TemplateType,\n\tpayload: CreateTemplatePayload\n) {\n\tconst template = await this.rest< Template >( {\n\t\tmethod: 'POST',\n\t\tpath: PATH_MAPPING[ type ],\n\t\tparams: { ...payload, type, status: 'publish', is_wp_suggestion: true },\n\t} );\n\n\treturn template;\n}\n\nexport { deleteAllTemplates, createTemplate };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBA,IAAM,eAAe;AAAA,EACpB,aAAa;AAAA,EACb,kBAAkB;AACnB;AAQA,eAAe,mBAAwC,MAAqB;AAC3E,QAAM,OAAO,aAAc,IAAK;AAEhC,MAAK,CAAE,MAAO;AACb,UAAM,IAAI,MAAO,8BAA+B,IAAK,GAAI;AAAA,EAC1D;AAEA,QAAM,YAAY,MAAM,KAAK,KAAoB,EAAE,KAAK,CAAE;AAE1D,aAAY,YAAY,WAAY;AACnC,QAAK,CAAE,UAAU,MAAM,CAAE,UAAU,OAAQ;AAC1C;AAAA,IACD;AAEA,QAAI;AACH,YAAM,KAAK,KAAM;AAAA,QAChB,QAAQ;AAAA,QACR,MAAM,GAAI,IAAK,IAAK,SAAS,EAAG;AAAA,QAChC,QAAQ,EAAE,OAAO,KAAK;AAAA,MACvB,CAAE;AAAA,IACH,SAAU,eAAgB;AAGzB,cAAQ;AAAA,QACP,qDAAsD,SAAS,KAAM;AAAA,QACrE;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;AASA,eAAe,eAEd,MACA,SACC;AACD,QAAM,WAAW,MAAM,KAAK,KAAkB;AAAA,IAC7C,QAAQ;AAAA,IACR,MAAM,aAAc,IAAK;AAAA,IACzB,QAAQ,EAAE,GAAG,SAAS,MAAM,QAAQ,WAAW,kBAAkB,KAAK;AAAA,EACvE,CAAE;AAEF,SAAO;AACR;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deleteAllTemplates = deleteAllTemplates;
|
|
4
|
-
exports.createTemplate = createTemplate;
|
|
5
|
-
const PATH_MAPPING = {
|
|
6
|
-
wp_template: '/wp/v2/templates',
|
|
7
|
-
wp_template_part: '/wp/v2/template-parts',
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Delete all the templates of given type.
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
13
|
-
* @param type - Template type to delete.
|
|
14
|
-
*/
|
|
15
|
-
async function deleteAllTemplates(type) {
|
|
16
|
-
const path = PATH_MAPPING[type];
|
|
17
|
-
if (!path) {
|
|
18
|
-
throw new Error(`Unsupported template type: ${type}.`);
|
|
19
|
-
}
|
|
20
|
-
const templates = await this.rest({ path });
|
|
21
|
-
for (const template of templates) {
|
|
22
|
-
if (!template?.id || !template?.wp_id) {
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
await this.rest({
|
|
27
|
-
method: 'DELETE',
|
|
28
|
-
path: `${path}/${template.id}`,
|
|
29
|
-
params: { force: true },
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
catch (responseError) {
|
|
33
|
-
// Disable reason - the error provides valuable feedback about issues with tests.
|
|
34
|
-
// eslint-disable-next-line no-console
|
|
35
|
-
console.warn(`deleteAllTemplates failed to delete template (id: ${template.wp_id}) with the following error`, responseError);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Creates a new template using the REST API.
|
|
41
|
-
*
|
|
42
|
-
* @param this
|
|
43
|
-
* @param type Template type to delete.
|
|
44
|
-
* @param payload Template attributes.
|
|
45
|
-
*/
|
|
46
|
-
async function createTemplate(type, payload) {
|
|
47
|
-
const template = await this.rest({
|
|
48
|
-
method: 'POST',
|
|
49
|
-
path: PATH_MAPPING[type],
|
|
50
|
-
params: { ...payload, type, status: 'publish', is_wp_suggestion: true },
|
|
51
|
-
});
|
|
52
|
-
return template;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=templates.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/request-utils/templates.ts"],"names":[],"mappings":";;QAkFS,kBAAkB;QAAE,cAAc;AA/D3C,MAAM,YAAY,GAAG;IACpB,WAAW,EAAE,kBAAkB;IAC/B,gBAAgB,EAAE,uBAAuB;CACzC,CAAC;AAEF;;;;;GAKG;AACH,KAAK,UAAU,kBAAkB,CAAsB,IAAkB;IACxE,MAAM,IAAI,GAAG,YAAY,CAAE,IAAI,CAAE,CAAC;IAElC,IAAK,CAAE,IAAI,EAAG,CAAC;QACd,MAAM,IAAI,KAAK,CAAE,8BAA+B,IAAK,GAAG,CAAE,CAAC;IAC5D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAgB,EAAE,IAAI,EAAE,CAAE,CAAC;IAE5D,KAAM,MAAM,QAAQ,IAAI,SAAS,EAAG,CAAC;QACpC,IAAK,CAAE,QAAQ,EAAE,EAAE,IAAI,CAAE,QAAQ,EAAE,KAAK,EAAG,CAAC;YAC3C,SAAS;QACV,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAE;gBAChB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,GAAI,IAAK,IAAK,QAAQ,CAAC,EAAG,EAAE;gBAClC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;aACvB,CAAE,CAAC;QACL,CAAC;QAAC,OAAQ,aAAa,EAAG,CAAC;YAC1B,iFAAiF;YACjF,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACX,qDAAsD,QAAQ,CAAC,KAAM,4BAA4B,EACjG,aAAa,CACb,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAE5B,IAAkB,EAClB,OAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAc;QAC7C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,YAAY,CAAE,IAAI,CAAE;QAC1B,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE;KACvE,CAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// packages/e2e-test-utils-playwright/src/request-utils/themes.ts
|
|
21
|
-
var themes_exports = {};
|
|
22
|
-
__export(themes_exports, {
|
|
23
|
-
activateTheme: () => activateTheme,
|
|
24
|
-
getCurrentThemeGlobalStylesPostId: () => getCurrentThemeGlobalStylesPostId,
|
|
25
|
-
getThemeGlobalStylesRevisions: () => getThemeGlobalStylesRevisions
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(themes_exports);
|
|
28
|
-
var import_config = require("../config.cjs");
|
|
29
|
-
var THEMES_URL = new URL("wp-admin/themes.php", import_config.WP_BASE_URL).href;
|
|
30
|
-
async function activateTheme(themeSlug) {
|
|
31
|
-
let response = await this.request.get(THEMES_URL);
|
|
32
|
-
const html = await response.text();
|
|
33
|
-
const optionalFolder = "([a-z0-9-]+%2F)?";
|
|
34
|
-
let matchGroup = html.match(
|
|
35
|
-
`action=activate&stylesheet=${encodeURIComponent(
|
|
36
|
-
themeSlug
|
|
37
|
-
)}&_wpnonce=[a-z0-9]+`
|
|
38
|
-
);
|
|
39
|
-
if (!matchGroup) {
|
|
40
|
-
matchGroup = html.match(
|
|
41
|
-
`action=activate&stylesheet=${optionalFolder}${encodeURIComponent(
|
|
42
|
-
themeSlug
|
|
43
|
-
)}&_wpnonce=[a-z0-9]+`
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
if (!matchGroup) {
|
|
47
|
-
if (html.includes(`data-slug="${themeSlug}"`)) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
throw new Error(`The theme "${themeSlug}" is not installed`);
|
|
51
|
-
}
|
|
52
|
-
const [activateQuery] = matchGroup;
|
|
53
|
-
const activateLink = THEMES_URL + `?${activateQuery}`.replace(/&/g, "&");
|
|
54
|
-
response = await this.request.get(activateLink);
|
|
55
|
-
await response.dispose();
|
|
56
|
-
}
|
|
57
|
-
async function getCurrentThemeGlobalStylesPostId() {
|
|
58
|
-
const themes = await this.rest({
|
|
59
|
-
path: "/wp/v2/themes"
|
|
60
|
-
});
|
|
61
|
-
let themeGlobalStylesId = "";
|
|
62
|
-
if (themes && themes.length) {
|
|
63
|
-
const currentTheme = themes.find(
|
|
64
|
-
({ status }) => status === "active"
|
|
65
|
-
);
|
|
66
|
-
const globalStylesURL = currentTheme?._links?.["wp:user-global-styles"]?.[0]?.href;
|
|
67
|
-
if (globalStylesURL) {
|
|
68
|
-
const idMatch = globalStylesURL.match(
|
|
69
|
-
/\/wp\/v2\/global-styles\/(\d+)/
|
|
70
|
-
);
|
|
71
|
-
if (idMatch) {
|
|
72
|
-
themeGlobalStylesId = idMatch[1];
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return themeGlobalStylesId;
|
|
77
|
-
}
|
|
78
|
-
async function getThemeGlobalStylesRevisions(parentId) {
|
|
79
|
-
return await this.rest({
|
|
80
|
-
path: `/wp/v2/global-styles/${parentId}/revisions`,
|
|
81
|
-
params: {
|
|
82
|
-
per_page: 100
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
-
0 && (module.exports = {
|
|
88
|
-
activateTheme,
|
|
89
|
-
getCurrentThemeGlobalStylesPostId,
|
|
90
|
-
getThemeGlobalStylesRevisions
|
|
91
|
-
});
|
|
92
|
-
//# sourceMappingURL=themes.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/request-utils/themes.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { RequestUtils } from './index';\nimport { WP_BASE_URL } from '../config';\n\nconst THEMES_URL = new URL( 'wp-admin/themes.php', WP_BASE_URL ).href;\n\nasync function activateTheme(\n\tthis: RequestUtils,\n\tthemeSlug: string\n): Promise< void > {\n\tlet response = await this.request.get( THEMES_URL );\n\tconst html = await response.text();\n\tconst optionalFolder = '([a-z0-9-]+%2F)?';\n\n\t// The `optionalFolder` regex part matches paths with a folder,\n\t// so it will return the first match, which might contain a folder.\n\t// First try to honor the included theme slug, that is, without a folder.\n\tlet matchGroup = html.match(\n\t\t`action=activate&stylesheet=${ encodeURIComponent(\n\t\t\tthemeSlug\n\t\t) }&_wpnonce=[a-z0-9]+`\n\t);\n\n\t// If the theme is not found, try to match the theme slug with a folder.\n\tif ( ! matchGroup ) {\n\t\tmatchGroup = html.match(\n\t\t\t`action=activate&stylesheet=${ optionalFolder }${ encodeURIComponent(\n\t\t\t\tthemeSlug\n\t\t\t) }&_wpnonce=[a-z0-9]+`\n\t\t);\n\t}\n\n\tif ( ! matchGroup ) {\n\t\tif ( html.includes( `data-slug=\"${ themeSlug }\"` ) ) {\n\t\t\t// The theme is already activated.\n\t\t\treturn;\n\t\t}\n\n\t\tthrow new Error( `The theme \"${ themeSlug }\" is not installed` );\n\t}\n\n\tconst [ activateQuery ] = matchGroup;\n\tconst activateLink =\n\t\tTHEMES_URL + `?${ activateQuery }`.replace( /&/g, '&' );\n\n\tresponse = await this.request.get( activateLink );\n\n\tawait response.dispose();\n}\n\n// https://developer.wordpress.org/rest-api/reference/themes/#definition\nasync function getCurrentThemeGlobalStylesPostId( this: RequestUtils ) {\n\ttype ThemeItem = {\n\t\tstylesheet: string;\n\t\tstatus: string;\n\t\t_links: { 'wp:user-global-styles': { href: string }[] };\n\t};\n\tconst themes = await this.rest< ThemeItem[] >( {\n\t\tpath: '/wp/v2/themes',\n\t} );\n\tlet themeGlobalStylesId: string = '';\n\tif ( themes && themes.length ) {\n\t\tconst currentTheme: ThemeItem | undefined = themes.find(\n\t\t\t( { status } ) => status === 'active'\n\t\t);\n\n\t\tconst globalStylesURL =\n\t\t\tcurrentTheme?._links?.[ 'wp:user-global-styles' ]?.[ 0 ]?.href;\n\t\tif ( globalStylesURL ) {\n\t\t\t// Extract the ID from the URL. The URL format depends on\n\t\t\t// the permalink structure:\n\t\t\t// - Plain: ?rest_route=/wp/v2/global-styles/123\n\t\t\t// - Pretty: /wp-json/wp/v2/global-styles/123\n\t\t\tconst idMatch = globalStylesURL.match(\n\t\t\t\t/\\/wp\\/v2\\/global-styles\\/(\\d+)/\n\t\t\t);\n\t\t\tif ( idMatch ) {\n\t\t\t\tthemeGlobalStylesId = idMatch[ 1 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn themeGlobalStylesId;\n}\n\n/**\n * Deletes all post revisions using the REST API.\n *\n * @param {} this RequestUtils.\n * @param {string|number} parentId Post attributes.\n */\nasync function getThemeGlobalStylesRevisions(\n\tthis: RequestUtils,\n\tparentId: number | string\n) {\n\t// Lists all global styles revisions.\n\treturn await this.rest< Record< string, Object >[] >( {\n\t\tpath: `/wp/v2/global-styles/${ parentId }/revisions`,\n\t\tparams: {\n\t\t\tper_page: 100,\n\t\t},\n\t} );\n}\n\nexport {\n\tactivateTheme,\n\tgetCurrentThemeGlobalStylesPostId,\n\tgetThemeGlobalStylesRevisions,\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,oBAA4B;AAE5B,IAAM,aAAa,IAAI,IAAK,uBAAuB,yBAAY,EAAE;AAEjE,eAAe,cAEd,WACkB;AAClB,MAAI,WAAW,MAAM,KAAK,QAAQ,IAAK,UAAW;AAClD,QAAM,OAAO,MAAM,SAAS,KAAK;AACjC,QAAM,iBAAiB;AAKvB,MAAI,aAAa,KAAK;AAAA,IACrB,kCAAmC;AAAA,MAClC;AAAA,IACD,CAAE;AAAA,EACH;AAGA,MAAK,CAAE,YAAa;AACnB,iBAAa,KAAK;AAAA,MACjB,kCAAmC,cAAe,GAAI;AAAA,QACrD;AAAA,MACD,CAAE;AAAA,IACH;AAAA,EACD;AAEA,MAAK,CAAE,YAAa;AACnB,QAAK,KAAK,SAAU,cAAe,SAAU,GAAI,GAAI;AAEpD;AAAA,IACD;AAEA,UAAM,IAAI,MAAO,cAAe,SAAU,oBAAqB;AAAA,EAChE;AAEA,QAAM,CAAE,aAAc,IAAI;AAC1B,QAAM,eACL,aAAa,IAAK,aAAc,GAAG,QAAS,UAAU,GAAI;AAE3D,aAAW,MAAM,KAAK,QAAQ,IAAK,YAAa;AAEhD,QAAM,SAAS,QAAQ;AACxB;AAGA,eAAe,oCAAwD;AAMtE,QAAM,SAAS,MAAM,KAAK,KAAqB;AAAA,IAC9C,MAAM;AAAA,EACP,CAAE;AACF,MAAI,sBAA8B;AAClC,MAAK,UAAU,OAAO,QAAS;AAC9B,UAAM,eAAsC,OAAO;AAAA,MAClD,CAAE,EAAE,OAAO,MAAO,WAAW;AAAA,IAC9B;AAEA,UAAM,kBACL,cAAc,SAAU,uBAAwB,IAAK,CAAE,GAAG;AAC3D,QAAK,iBAAkB;AAKtB,YAAM,UAAU,gBAAgB;AAAA,QAC/B;AAAA,MACD;AACA,UAAK,SAAU;AACd,8BAAsB,QAAS,CAAE;AAAA,MAClC;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;AAQA,eAAe,8BAEd,UACC;AAED,SAAO,MAAM,KAAK,KAAoC;AAAA,IACrD,MAAM,wBAAyB,QAAS;AAAA,IACxC,QAAQ;AAAA,MACP,UAAU;AAAA,IACX;AAAA,EACD,CAAE;AACH;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.activateTheme = activateTheme;
|
|
4
|
-
exports.getCurrentThemeGlobalStylesPostId = getCurrentThemeGlobalStylesPostId;
|
|
5
|
-
exports.getThemeGlobalStylesRevisions = getThemeGlobalStylesRevisions;
|
|
6
|
-
const config_1 = require("../config");
|
|
7
|
-
const THEMES_URL = new URL('wp-admin/themes.php', config_1.WP_BASE_URL).href;
|
|
8
|
-
async function activateTheme(themeSlug) {
|
|
9
|
-
let response = await this.request.get(THEMES_URL);
|
|
10
|
-
const html = await response.text();
|
|
11
|
-
const optionalFolder = '([a-z0-9-]+%2F)?';
|
|
12
|
-
// The `optionalFolder` regex part matches paths with a folder,
|
|
13
|
-
// so it will return the first match, which might contain a folder.
|
|
14
|
-
// First try to honor the included theme slug, that is, without a folder.
|
|
15
|
-
let matchGroup = html.match(`action=activate&stylesheet=${encodeURIComponent(themeSlug)}&_wpnonce=[a-z0-9]+`);
|
|
16
|
-
// If the theme is not found, try to match the theme slug with a folder.
|
|
17
|
-
if (!matchGroup) {
|
|
18
|
-
matchGroup = html.match(`action=activate&stylesheet=${optionalFolder}${encodeURIComponent(themeSlug)}&_wpnonce=[a-z0-9]+`);
|
|
19
|
-
}
|
|
20
|
-
if (!matchGroup) {
|
|
21
|
-
if (html.includes(`data-slug="${themeSlug}"`)) {
|
|
22
|
-
// The theme is already activated.
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
throw new Error(`The theme "${themeSlug}" is not installed`);
|
|
26
|
-
}
|
|
27
|
-
const [activateQuery] = matchGroup;
|
|
28
|
-
const activateLink = THEMES_URL + `?${activateQuery}`.replace(/&/g, '&');
|
|
29
|
-
response = await this.request.get(activateLink);
|
|
30
|
-
await response.dispose();
|
|
31
|
-
}
|
|
32
|
-
// https://developer.wordpress.org/rest-api/reference/themes/#definition
|
|
33
|
-
async function getCurrentThemeGlobalStylesPostId() {
|
|
34
|
-
const themes = await this.rest({
|
|
35
|
-
path: '/wp/v2/themes',
|
|
36
|
-
});
|
|
37
|
-
let themeGlobalStylesId = '';
|
|
38
|
-
if (themes && themes.length) {
|
|
39
|
-
const currentTheme = themes.find(({ status }) => status === 'active');
|
|
40
|
-
const globalStylesURL = currentTheme?._links?.['wp:user-global-styles']?.[0]?.href;
|
|
41
|
-
if (globalStylesURL) {
|
|
42
|
-
// Extract the ID from the URL. The URL format depends on
|
|
43
|
-
// the permalink structure:
|
|
44
|
-
// - Plain: ?rest_route=/wp/v2/global-styles/123
|
|
45
|
-
// - Pretty: /wp-json/wp/v2/global-styles/123
|
|
46
|
-
const idMatch = globalStylesURL.match(/\/wp\/v2\/global-styles\/(\d+)/);
|
|
47
|
-
if (idMatch) {
|
|
48
|
-
themeGlobalStylesId = idMatch[1];
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return themeGlobalStylesId;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Deletes all post revisions using the REST API.
|
|
56
|
-
*
|
|
57
|
-
* @param {} this RequestUtils.
|
|
58
|
-
* @param {string|number} parentId Post attributes.
|
|
59
|
-
*/
|
|
60
|
-
async function getThemeGlobalStylesRevisions(parentId) {
|
|
61
|
-
// Lists all global styles revisions.
|
|
62
|
-
return await this.rest({
|
|
63
|
-
path: `/wp/v2/global-styles/${parentId}/revisions`,
|
|
64
|
-
params: {
|
|
65
|
-
per_page: 100,
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=themes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../src/request-utils/themes.ts"],"names":[],"mappings":";;QA0GC,aAAa;QACb,iCAAiC;QACjC,6BAA6B;AAxG9B,sCAAwC;AAExC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAE,qBAAqB,EAAE,oBAAW,CAAE,CAAC,IAAI,CAAC;AAEtE,KAAK,UAAU,aAAa,CAE3B,SAAiB;IAEjB,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,UAAU,CAAE,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,kBAAkB,CAAC;IAE1C,+DAA+D;IAC/D,mEAAmE;IACnE,yEAAyE;IACzE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAC1B,kCAAmC,kBAAkB,CACpD,SAAS,CACR,yBAAyB,CAC3B,CAAC;IAEF,wEAAwE;IACxE,IAAK,CAAE,UAAU,EAAG,CAAC;QACpB,UAAU,GAAG,IAAI,CAAC,KAAK,CACtB,kCAAmC,cAAe,GAAI,kBAAkB,CACvE,SAAS,CACR,yBAAyB,CAC3B,CAAC;IACH,CAAC;IAED,IAAK,CAAE,UAAU,EAAG,CAAC;QACpB,IAAK,IAAI,CAAC,QAAQ,CAAE,cAAe,SAAU,GAAG,CAAE,EAAG,CAAC;YACrD,kCAAkC;YAClC,OAAO;QACR,CAAC;QAED,MAAM,IAAI,KAAK,CAAE,cAAe,SAAU,oBAAoB,CAAE,CAAC;IAClE,CAAC;IAED,MAAM,CAAE,aAAa,CAAE,GAAG,UAAU,CAAC;IACrC,MAAM,YAAY,GACjB,UAAU,GAAG,IAAK,aAAc,EAAE,CAAC,OAAO,CAAE,QAAQ,EAAE,GAAG,CAAE,CAAC;IAE7D,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,YAAY,CAAE,CAAC;IAElD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,wEAAwE;AACxE,KAAK,UAAU,iCAAiC;IAM/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAiB;QAC9C,IAAI,EAAE,eAAe;KACrB,CAAE,CAAC;IACJ,IAAI,mBAAmB,GAAW,EAAE,CAAC;IACrC,IAAK,MAAM,IAAI,MAAM,CAAC,MAAM,EAAG,CAAC;QAC/B,MAAM,YAAY,GAA0B,MAAM,CAAC,IAAI,CACtD,CAAE,EAAE,MAAM,EAAE,EAAG,EAAE,CAAC,MAAM,KAAK,QAAQ,CACrC,CAAC;QAEF,MAAM,eAAe,GACpB,YAAY,EAAE,MAAM,EAAE,CAAE,uBAAuB,CAAE,EAAE,CAAE,CAAC,CAAE,EAAE,IAAI,CAAC;QAChE,IAAK,eAAe,EAAG,CAAC;YACvB,yDAAyD;YACzD,2BAA2B;YAC3B,gDAAgD;YAChD,6CAA6C;YAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CACpC,gCAAgC,CAChC,CAAC;YACF,IAAK,OAAO,EAAG,CAAC;gBACf,mBAAmB,GAAG,OAAO,CAAE,CAAC,CAAE,CAAC;YACpC,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,6BAA6B,CAE3C,QAAyB;IAEzB,qCAAqC;IACrC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAgC;QACrD,IAAI,EAAE,wBAAyB,QAAS,YAAY;QACpD,MAAM,EAAE;YACP,QAAQ,EAAE,GAAG;SACb;KACD,CAAE,CAAC;AACL,CAAC"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// packages/e2e-test-utils-playwright/src/request-utils/users.ts
|
|
21
|
-
var users_exports = {};
|
|
22
|
-
__export(users_exports, {
|
|
23
|
-
createUser: () => createUser,
|
|
24
|
-
deleteAllUsers: () => deleteAllUsers
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(users_exports);
|
|
27
|
-
async function listUsers() {
|
|
28
|
-
const response = await this.rest({
|
|
29
|
-
method: "GET",
|
|
30
|
-
path: "/wp/v2/users",
|
|
31
|
-
params: {
|
|
32
|
-
per_page: 100
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
return response;
|
|
36
|
-
}
|
|
37
|
-
async function createUser(user) {
|
|
38
|
-
const userData = {
|
|
39
|
-
username: user.username,
|
|
40
|
-
email: user.email
|
|
41
|
-
};
|
|
42
|
-
if (user.firstName) {
|
|
43
|
-
userData.first_name = user.firstName;
|
|
44
|
-
}
|
|
45
|
-
if (user.lastName) {
|
|
46
|
-
userData.last_name = user.lastName;
|
|
47
|
-
}
|
|
48
|
-
if (user.password) {
|
|
49
|
-
userData.password = user.password;
|
|
50
|
-
}
|
|
51
|
-
if (user.roles) {
|
|
52
|
-
userData.roles = user.roles;
|
|
53
|
-
}
|
|
54
|
-
const response = await this.rest({
|
|
55
|
-
method: "POST",
|
|
56
|
-
path: "/wp/v2/users",
|
|
57
|
-
data: userData
|
|
58
|
-
});
|
|
59
|
-
return response;
|
|
60
|
-
}
|
|
61
|
-
async function deleteUser(userId) {
|
|
62
|
-
const response = await this.rest({
|
|
63
|
-
method: "DELETE",
|
|
64
|
-
path: `/wp/v2/users/${userId}`,
|
|
65
|
-
params: { force: true, reassign: 1 }
|
|
66
|
-
});
|
|
67
|
-
return response;
|
|
68
|
-
}
|
|
69
|
-
async function deleteAllUsers() {
|
|
70
|
-
const users = await listUsers.bind(this)();
|
|
71
|
-
const responses = await Promise.all(
|
|
72
|
-
users.filter(
|
|
73
|
-
(user) => user.id !== 1 && user.name !== this.user.username
|
|
74
|
-
).map((user) => deleteUser.bind(this)(user.id))
|
|
75
|
-
);
|
|
76
|
-
return responses;
|
|
77
|
-
}
|
|
78
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
-
0 && (module.exports = {
|
|
80
|
-
createUser,
|
|
81
|
-
deleteAllUsers
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=users.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/request-utils/users.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { RequestUtils } from './index';\n\nexport interface User {\n\tid: number;\n\tname: string;\n\temail: string;\n}\n\nexport interface UserData {\n\tusername: string;\n\temail: string;\n\tfirstName?: string;\n\tlastName?: string;\n\tpassword?: string;\n\troles?: string[];\n}\n\nexport interface UserRequestData {\n\tusername: string;\n\temail: string;\n\tfirst_name?: string;\n\tlast_name?: string;\n\tpassword?: string;\n\troles?: string[];\n}\n\n/**\n * List all users.\n *\n * @see https://developer.wordpress.org/rest-api/reference/users/#list-users\n * @param this\n */\nasync function listUsers( this: RequestUtils ) {\n\tconst response = await this.rest< User[] >( {\n\t\tmethod: 'GET',\n\t\tpath: '/wp/v2/users',\n\t\tparams: {\n\t\t\tper_page: 100,\n\t\t},\n\t} );\n\n\treturn response;\n}\n\n/**\n * Add a test user.\n *\n * @see https://developer.wordpress.org/rest-api/reference/users/#create-a-user\n * @param this\n * @param user User data to create.\n */\nasync function createUser( this: RequestUtils, user: UserData ) {\n\tconst userData: UserRequestData = {\n\t\tusername: user.username,\n\t\temail: user.email,\n\t};\n\n\tif ( user.firstName ) {\n\t\tuserData.first_name = user.firstName;\n\t}\n\n\tif ( user.lastName ) {\n\t\tuserData.last_name = user.lastName;\n\t}\n\n\tif ( user.password ) {\n\t\tuserData.password = user.password;\n\t}\n\n\tif ( user.roles ) {\n\t\tuserData.roles = user.roles;\n\t}\n\n\tconst response = await this.rest< User >( {\n\t\tmethod: 'POST',\n\t\tpath: '/wp/v2/users',\n\t\tdata: userData,\n\t} );\n\n\treturn response;\n}\n\n/**\n * Delete a user.\n *\n * @see https://developer.wordpress.org/rest-api/reference/users/#delete-a-user\n * @param this\n * @param userId The ID of the user.\n */\nasync function deleteUser( this: RequestUtils, userId: number ) {\n\tconst response = await this.rest( {\n\t\tmethod: 'DELETE',\n\t\tpath: `/wp/v2/users/${ userId }`,\n\t\tparams: { force: true, reassign: 1 },\n\t} );\n\n\treturn response;\n}\n\n/**\n * Delete all users except main root user.\n *\n * @param this\n */\nasync function deleteAllUsers( this: RequestUtils ) {\n\tconst users = await listUsers.bind( this )();\n\n\t// The users endpoint doesn't support batch request yet.\n\tconst responses = await Promise.all(\n\t\tusers\n\t\t\t// Do not delete neither root user nor the current user.\n\t\t\t.filter(\n\t\t\t\t( user: User ) =>\n\t\t\t\t\tuser.id !== 1 && user.name !== this.user.username\n\t\t\t)\n\t\t\t.map( ( user: User ) => deleteUser.bind( this )( user.id ) )\n\t);\n\n\treturn responses;\n}\n\nexport { createUser, deleteAllUsers };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCA,eAAe,YAAgC;AAC9C,QAAM,WAAW,MAAM,KAAK,KAAgB;AAAA,IAC3C,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA,MACP,UAAU;AAAA,IACX;AAAA,EACD,CAAE;AAEF,SAAO;AACR;AASA,eAAe,WAAgC,MAAiB;AAC/D,QAAM,WAA4B;AAAA,IACjC,UAAU,KAAK;AAAA,IACf,OAAO,KAAK;AAAA,EACb;AAEA,MAAK,KAAK,WAAY;AACrB,aAAS,aAAa,KAAK;AAAA,EAC5B;AAEA,MAAK,KAAK,UAAW;AACpB,aAAS,YAAY,KAAK;AAAA,EAC3B;AAEA,MAAK,KAAK,UAAW;AACpB,aAAS,WAAW,KAAK;AAAA,EAC1B;AAEA,MAAK,KAAK,OAAQ;AACjB,aAAS,QAAQ,KAAK;AAAA,EACvB;AAEA,QAAM,WAAW,MAAM,KAAK,KAAc;AAAA,IACzC,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACP,CAAE;AAEF,SAAO;AACR;AASA,eAAe,WAAgC,QAAiB;AAC/D,QAAM,WAAW,MAAM,KAAK,KAAM;AAAA,IACjC,QAAQ;AAAA,IACR,MAAM,gBAAiB,MAAO;AAAA,IAC9B,QAAQ,EAAE,OAAO,MAAM,UAAU,EAAE;AAAA,EACpC,CAAE;AAEF,SAAO;AACR;AAOA,eAAe,iBAAqC;AACnD,QAAM,QAAQ,MAAM,UAAU,KAAM,IAAK,EAAE;AAG3C,QAAM,YAAY,MAAM,QAAQ;AAAA,IAC/B,MAEE;AAAA,MACA,CAAE,SACD,KAAK,OAAO,KAAK,KAAK,SAAS,KAAK,KAAK;AAAA,IAC3C,EACC,IAAK,CAAE,SAAgB,WAAW,KAAM,IAAK,EAAG,KAAK,EAAG,CAAE;AAAA,EAC7D;AAEA,SAAO;AACR;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createUser = createUser;
|
|
4
|
-
exports.deleteAllUsers = deleteAllUsers;
|
|
5
|
-
/**
|
|
6
|
-
* List all users.
|
|
7
|
-
*
|
|
8
|
-
* @see https://developer.wordpress.org/rest-api/reference/users/#list-users
|
|
9
|
-
* @param this
|
|
10
|
-
*/
|
|
11
|
-
async function listUsers() {
|
|
12
|
-
const response = await this.rest({
|
|
13
|
-
method: 'GET',
|
|
14
|
-
path: '/wp/v2/users',
|
|
15
|
-
params: {
|
|
16
|
-
per_page: 100,
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
return response;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Add a test user.
|
|
23
|
-
*
|
|
24
|
-
* @see https://developer.wordpress.org/rest-api/reference/users/#create-a-user
|
|
25
|
-
* @param this
|
|
26
|
-
* @param user User data to create.
|
|
27
|
-
*/
|
|
28
|
-
async function createUser(user) {
|
|
29
|
-
const userData = {
|
|
30
|
-
username: user.username,
|
|
31
|
-
email: user.email,
|
|
32
|
-
};
|
|
33
|
-
if (user.firstName) {
|
|
34
|
-
userData.first_name = user.firstName;
|
|
35
|
-
}
|
|
36
|
-
if (user.lastName) {
|
|
37
|
-
userData.last_name = user.lastName;
|
|
38
|
-
}
|
|
39
|
-
if (user.password) {
|
|
40
|
-
userData.password = user.password;
|
|
41
|
-
}
|
|
42
|
-
if (user.roles) {
|
|
43
|
-
userData.roles = user.roles;
|
|
44
|
-
}
|
|
45
|
-
const response = await this.rest({
|
|
46
|
-
method: 'POST',
|
|
47
|
-
path: '/wp/v2/users',
|
|
48
|
-
data: userData,
|
|
49
|
-
});
|
|
50
|
-
return response;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Delete a user.
|
|
54
|
-
*
|
|
55
|
-
* @see https://developer.wordpress.org/rest-api/reference/users/#delete-a-user
|
|
56
|
-
* @param this
|
|
57
|
-
* @param userId The ID of the user.
|
|
58
|
-
*/
|
|
59
|
-
async function deleteUser(userId) {
|
|
60
|
-
const response = await this.rest({
|
|
61
|
-
method: 'DELETE',
|
|
62
|
-
path: `/wp/v2/users/${userId}`,
|
|
63
|
-
params: { force: true, reassign: 1 },
|
|
64
|
-
});
|
|
65
|
-
return response;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Delete all users except main root user.
|
|
69
|
-
*
|
|
70
|
-
* @param this
|
|
71
|
-
*/
|
|
72
|
-
async function deleteAllUsers() {
|
|
73
|
-
const users = await listUsers.bind(this)();
|
|
74
|
-
// The users endpoint doesn't support batch request yet.
|
|
75
|
-
const responses = await Promise.all(users
|
|
76
|
-
// Do not delete neither root user nor the current user.
|
|
77
|
-
.filter((user) => user.id !== 1 && user.name !== this.user.username)
|
|
78
|
-
.map((user) => deleteUser.bind(this)(user.id)));
|
|
79
|
-
return responses;
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=users.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/request-utils/users.ts"],"names":[],"mappings":";;QA4HS,UAAU;QAAE,cAAc;AA/FnC;;;;;GAKG;AACH,KAAK,UAAU,SAAS;IACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAY;QAC3C,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACP,QAAQ,EAAE,GAAG;SACb;KACD,CAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CAAsB,IAAc;IAC5D,MAAM,QAAQ,GAAoB;QACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;KACjB,CAAC;IAEF,IAAK,IAAI,CAAC,SAAS,EAAG,CAAC;QACtB,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;IACtC,CAAC;IAED,IAAK,IAAI,CAAC,QAAQ,EAAG,CAAC;QACrB,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,IAAK,IAAI,CAAC,QAAQ,EAAG,CAAC;QACrB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAK,IAAI,CAAC,KAAK,EAAG,CAAC;QAClB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAU;QACzC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,QAAQ;KACd,CAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CAAsB,MAAc;IAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAE;QACjC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,gBAAiB,MAAO,EAAE;QAChC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;KACpC,CAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAE,IAAI,CAAE,EAAE,CAAC;IAE7C,wDAAwD;IACxD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,KAAK;QACJ,wDAAwD;SACvD,MAAM,CACN,CAAE,IAAU,EAAG,EAAE,CAChB,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAClD;SACA,GAAG,CAAE,CAAE,IAAU,EAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAE,IAAI,CAAE,CAAE,IAAI,CAAC,EAAE,CAAE,CAAE,CAC7D,CAAC;IAEF,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// packages/e2e-test-utils-playwright/src/request-utils/widgets.js
|
|
21
|
-
var widgets_exports = {};
|
|
22
|
-
__export(widgets_exports, {
|
|
23
|
-
addWidgetBlock: () => addWidgetBlock,
|
|
24
|
-
deleteAllWidgets: () => deleteAllWidgets
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(widgets_exports);
|
|
27
|
-
async function deleteAllWidgets() {
|
|
28
|
-
const [widgets, sidebars] = await Promise.all([
|
|
29
|
-
this.rest({ path: "/wp/v2/widgets" }),
|
|
30
|
-
this.rest({ path: "/wp/v2/sidebars" })
|
|
31
|
-
]);
|
|
32
|
-
await this.batchRest(
|
|
33
|
-
widgets.map((widget) => ({
|
|
34
|
-
method: "DELETE",
|
|
35
|
-
path: `/wp/v2/widgets/${widget.id}?force=true`
|
|
36
|
-
}))
|
|
37
|
-
);
|
|
38
|
-
await Promise.all(
|
|
39
|
-
sidebars.map(
|
|
40
|
-
(sidebar) => this.rest({
|
|
41
|
-
method: "POST",
|
|
42
|
-
path: `/wp/v2/sidebars/${sidebar.id}`,
|
|
43
|
-
data: { id: sidebar.id, widgets: [] }
|
|
44
|
-
})
|
|
45
|
-
)
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
async function addWidgetBlock(serializedBlock, widgetAreaId) {
|
|
49
|
-
const { id: blockId } = await this.rest({
|
|
50
|
-
method: "POST",
|
|
51
|
-
path: "/wp/v2/widgets",
|
|
52
|
-
data: {
|
|
53
|
-
id_base: "block",
|
|
54
|
-
sidebar: widgetAreaId,
|
|
55
|
-
instance: {
|
|
56
|
-
raw: { content: serializedBlock }
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
const { widgets } = await this.rest({
|
|
61
|
-
path: `/wp/v2/sidebars/${widgetAreaId}`
|
|
62
|
-
});
|
|
63
|
-
const updatedWidgets = new Set(widgets);
|
|
64
|
-
updatedWidgets.delete(blockId);
|
|
65
|
-
updatedWidgets.add(blockId);
|
|
66
|
-
await this.rest({
|
|
67
|
-
method: "PUT",
|
|
68
|
-
path: `/wp/v2/sidebars/${widgetAreaId}`,
|
|
69
|
-
data: {
|
|
70
|
-
widgets: [...updatedWidgets]
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
75
|
-
0 && (module.exports = {
|
|
76
|
-
addWidgetBlock,
|
|
77
|
-
deleteAllWidgets
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=widgets.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/request-utils/widgets.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * Delete all the widgets in the widgets screen.\n *\n * @this {import('./index').RequestUtils}\n */\nexport async function deleteAllWidgets() {\n\tconst [ widgets, sidebars ] = await Promise.all( [\n\t\tthis.rest( { path: '/wp/v2/widgets' } ),\n\t\tthis.rest( { path: '/wp/v2/sidebars' } ),\n\t] );\n\n\tawait this.batchRest(\n\t\twidgets.map( ( widget ) => ( {\n\t\t\tmethod: 'DELETE',\n\t\t\tpath: `/wp/v2/widgets/${ widget.id }?force=true`,\n\t\t} ) )\n\t);\n\n\t// The endpoint doesn't support batch requests yet.\n\tawait Promise.all(\n\t\tsidebars.map( ( sidebar ) =>\n\t\t\tthis.rest( {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tpath: `/wp/v2/sidebars/${ sidebar.id }`,\n\t\t\t\tdata: { id: sidebar.id, widgets: [] },\n\t\t\t} )\n\t\t)\n\t);\n}\n\n/**\n * Add a widget block to the widget area.\n *\n * @this {import('./index').RequestUtils}\n * @param {string} serializedBlock The serialized content of the inserted block HTML.\n * @param {string} widgetAreaId The ID of the widget area.\n */\nexport async function addWidgetBlock( serializedBlock, widgetAreaId ) {\n\tconst { id: blockId } = await this.rest( {\n\t\tmethod: 'POST',\n\t\tpath: '/wp/v2/widgets',\n\t\tdata: {\n\t\t\tid_base: 'block',\n\t\t\tsidebar: widgetAreaId,\n\t\t\tinstance: {\n\t\t\t\traw: { content: serializedBlock },\n\t\t\t},\n\t\t},\n\t} );\n\n\tconst { widgets } = await this.rest( {\n\t\tpath: `/wp/v2/sidebars/${ widgetAreaId }`,\n\t} );\n\n\tconst updatedWidgets = new Set( widgets );\n\t// Remove duplicate.\n\tupdatedWidgets.delete( blockId );\n\t// Add to last block.\n\tupdatedWidgets.add( blockId );\n\n\tawait this.rest( {\n\t\tmethod: 'PUT',\n\t\tpath: `/wp/v2/sidebars/${ widgetAreaId }`,\n\t\tdata: {\n\t\t\twidgets: [ ...updatedWidgets ],\n\t\t},\n\t} );\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,eAAsB,mBAAmB;AACxC,QAAM,CAAE,SAAS,QAAS,IAAI,MAAM,QAAQ,IAAK;AAAA,IAChD,KAAK,KAAM,EAAE,MAAM,iBAAiB,CAAE;AAAA,IACtC,KAAK,KAAM,EAAE,MAAM,kBAAkB,CAAE;AAAA,EACxC,CAAE;AAEF,QAAM,KAAK;AAAA,IACV,QAAQ,IAAK,CAAE,YAAc;AAAA,MAC5B,QAAQ;AAAA,MACR,MAAM,kBAAmB,OAAO,EAAG;AAAA,IACpC,EAAI;AAAA,EACL;AAGA,QAAM,QAAQ;AAAA,IACb,SAAS;AAAA,MAAK,CAAE,YACf,KAAK,KAAM;AAAA,QACV,QAAQ;AAAA,QACR,MAAM,mBAAoB,QAAQ,EAAG;AAAA,QACrC,MAAM,EAAE,IAAI,QAAQ,IAAI,SAAS,CAAC,EAAE;AAAA,MACrC,CAAE;AAAA,IACH;AAAA,EACD;AACD;AASA,eAAsB,eAAgB,iBAAiB,cAAe;AACrE,QAAM,EAAE,IAAI,QAAQ,IAAI,MAAM,KAAK,KAAM;AAAA,IACxC,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,QACT,KAAK,EAAE,SAAS,gBAAgB;AAAA,MACjC;AAAA,IACD;AAAA,EACD,CAAE;AAEF,QAAM,EAAE,QAAQ,IAAI,MAAM,KAAK,KAAM;AAAA,IACpC,MAAM,mBAAoB,YAAa;AAAA,EACxC,CAAE;AAEF,QAAM,iBAAiB,IAAI,IAAK,OAAQ;AAExC,iBAAe,OAAQ,OAAQ;AAE/B,iBAAe,IAAK,OAAQ;AAE5B,QAAM,KAAK,KAAM;AAAA,IAChB,QAAQ;AAAA,IACR,MAAM,mBAAoB,YAAa;AAAA,IACvC,MAAM;AAAA,MACL,SAAS,CAAE,GAAG,cAAe;AAAA,IAC9B;AAAA,EACD,CAAE;AACH;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deleteAllWidgets = deleteAllWidgets;
|
|
4
|
-
exports.addWidgetBlock = addWidgetBlock;
|
|
5
|
-
/**
|
|
6
|
-
* Delete all the widgets in the widgets screen.
|
|
7
|
-
*
|
|
8
|
-
* @this {import('./index').RequestUtils}
|
|
9
|
-
*/
|
|
10
|
-
async function deleteAllWidgets() {
|
|
11
|
-
const [widgets, sidebars] = await Promise.all([
|
|
12
|
-
this.rest({ path: '/wp/v2/widgets' }),
|
|
13
|
-
this.rest({ path: '/wp/v2/sidebars' }),
|
|
14
|
-
]);
|
|
15
|
-
await this.batchRest(widgets.map((widget) => ({
|
|
16
|
-
method: 'DELETE',
|
|
17
|
-
path: `/wp/v2/widgets/${widget.id}?force=true`,
|
|
18
|
-
})));
|
|
19
|
-
// The endpoint doesn't support batch requests yet.
|
|
20
|
-
await Promise.all(sidebars.map((sidebar) => this.rest({
|
|
21
|
-
method: 'POST',
|
|
22
|
-
path: `/wp/v2/sidebars/${sidebar.id}`,
|
|
23
|
-
data: { id: sidebar.id, widgets: [] },
|
|
24
|
-
})));
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Add a widget block to the widget area.
|
|
28
|
-
*
|
|
29
|
-
* @this {import('./index').RequestUtils}
|
|
30
|
-
* @param {string} serializedBlock The serialized content of the inserted block HTML.
|
|
31
|
-
* @param {string} widgetAreaId The ID of the widget area.
|
|
32
|
-
*/
|
|
33
|
-
async function addWidgetBlock(serializedBlock, widgetAreaId) {
|
|
34
|
-
const { id: blockId } = await this.rest({
|
|
35
|
-
method: 'POST',
|
|
36
|
-
path: '/wp/v2/widgets',
|
|
37
|
-
data: {
|
|
38
|
-
id_base: 'block',
|
|
39
|
-
sidebar: widgetAreaId,
|
|
40
|
-
instance: {
|
|
41
|
-
raw: { content: serializedBlock },
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
const { widgets } = await this.rest({
|
|
46
|
-
path: `/wp/v2/sidebars/${widgetAreaId}`,
|
|
47
|
-
});
|
|
48
|
-
const updatedWidgets = new Set(widgets);
|
|
49
|
-
// Remove duplicate.
|
|
50
|
-
updatedWidgets.delete(blockId);
|
|
51
|
-
// Add to last block.
|
|
52
|
-
updatedWidgets.add(blockId);
|
|
53
|
-
await this.rest({
|
|
54
|
-
method: 'PUT',
|
|
55
|
-
path: `/wp/v2/sidebars/${widgetAreaId}`,
|
|
56
|
-
data: {
|
|
57
|
-
widgets: [...updatedWidgets],
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=widgets.js.map
|