Changeset 51501
- Timestamp:
- 07/28/2021 10:05:01 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/.gitignore
r51268 r51501 30 30 /src/wp-includes/css/*-rtl.css 31 31 /src/wp-includes/blocks/**/*.css 32 /src/wp-includes/blocks/**/*.js 33 /src/wp-includes/blocks/**/*.js.map 32 34 /packagehash.txt 33 35 /artifacts -
trunk/Gruntfile.js
r51355 r51501 998 998 WORKING_DIR + 'wp-content/themes/twenty*/**/*.js', 999 999 '!' + WORKING_DIR + 'wp-content/themes/twenty*/node_modules/**/*.js', 1000 '!' + WORKING_DIR + 'wp-includes/blocks/**/*.js', 1000 1001 '!' + WORKING_DIR + 'wp-includes/js/dist/**/*.js', 1001 1002 ] -
trunk/src/wp-includes/blocks.php
r51477 r51501 43 43 $asset_handle .= '-editor'; 44 44 } 45 if ( 0 === strpos( $field_name, 'view' ) ) { 46 $asset_handle .= '-view'; 47 } 45 48 return $asset_handle; 46 49 } … … 49 52 'editorScript' => 'editor-script', 50 53 'script' => 'script', 54 'viewScript' => 'view-script', 51 55 'editorStyle' => 'editor-style', 52 56 'style' => 'style', … … 97 101 return false; 98 102 } 99 $script_asset = require $script_asset_path; 100 $result = wp_register_script( 103 $is_core_block = isset( $metadata['file'] ) && 0 === strpos( $metadata['file'], ABSPATH . WPINC ); 104 $script_uri = $is_core_block ? 105 includes_url( str_replace( ABSPATH . WPINC, '', realpath( dirname( $metadata['file'] ) . '/' . $script_path ) ) ) : 106 plugins_url( $script_path, $metadata['file'] ); 107 $script_asset = require $script_asset_path; 108 $script_dependencies = isset( $script_asset['dependencies'] ) ? $script_asset['dependencies'] : array(); 109 $result = wp_register_script( 101 110 $script_handle, 102 plugins_url( $script_path, $metadata['file'] ),103 $script_ asset['dependencies'],104 $script_asset['version']111 $script_uri, 112 $script_dependencies, 113 isset( $script_asset['version'] ) ? $script_asset['version'] : false 105 114 ); 106 115 if ( ! $result ) { … … 108 117 } 109 118 110 if ( ! empty( $metadata['textdomain'] ) ) {119 if ( ! empty( $metadata['textdomain'] ) && in_array( 'wp-i18n', $script_dependencies ) ) { 111 120 wp_set_script_translations( $script_handle, $metadata['textdomain'] ); 112 121 } … … 183 192 * 184 193 * @since 5.5.0 194 * @since 5.9.0 Added support for the `viewScript` field. 185 195 * 186 196 * @param string $file_or_folder Path to the JSON file with metadata definition for … … 305 315 } 306 316 317 if ( ! empty( $metadata['viewScript'] ) ) { 318 $settings['view_script'] = register_block_script_handle( 319 $metadata, 320 'viewScript' 321 ); 322 } 323 307 324 if ( ! empty( $metadata['editorStyle'] ) ) { 308 325 $settings['editor_style'] = register_block_style_handle( -
trunk/src/wp-includes/blocks/file
- Property svn:ignore
-
old new 1 1 *.css 2 *.js 3 *.js.map
-
- Property svn:ignore
-
trunk/src/wp-includes/class-wp-block-type.php
r51268 r51501 157 157 158 158 /** 159 * Block type editor script handle.159 * Block type editor only script handle. 160 160 * 161 161 * @since 5.0.0 … … 165 165 166 166 /** 167 * Block type front end script handle.167 * Block type front end and editor script handle. 168 168 * 169 169 * @since 5.0.0 … … 173 173 174 174 /** 175 * Block type editor style handle. 175 * Block type front end only script handle. 176 * 177 * @since 5.9.0 178 * @var string|null 179 */ 180 public $view_script = null; 181 182 /** 183 * Block type editor only style handle. 176 184 * 177 185 * @since 5.0.0 … … 181 189 182 190 /** 183 * Block type front end style handle.191 * Block type front end and editor style handle. 184 192 * 185 193 * @since 5.0.0 … … 199 207 * @since 5.6.0 Added the `api_version` property. 200 208 * @since 5.8.0 Added the `variations` property. 209 * @since 5.9.0 Added the `view_script` property. 201 210 * 202 211 * @see register_block_type() … … 226 235 * @type array $uses_context Context values inherited by blocks of this type. 227 236 * @type array|null $provides_context Context provided by blocks of this type. 228 * @type string|null $editor_script Block type editor script handle. 229 * @type string|null $script Block type front end script handle. 230 * @type string|null $editor_style Block type editor style handle. 231 * @type string|null $style Block type front end style handle. 237 * @type string|null $editor_script Block type editor only script handle. 238 * @type string|null $script Block type front end and editor script handle. 239 * @type string|null $view_script Block type front end only script handle. 240 * @type string|null $editor_style Block type editor only style handle. 241 * @type string|null $style Block type front end and editor style handle. 232 242 * } 233 243 */ -
trunk/src/wp-includes/class-wp-block.php
r51298 r51501 230 230 } 231 231 232 if ( ! empty( $this->block_type->view_script ) && empty( $this->block_type->render_callback ) ) { 233 wp_enqueue_script( $this->block_type->view_script ); 234 } 235 232 236 if ( ! empty( $this->block_type->style ) ) { 233 237 wp_enqueue_style( $this->block_type->style ); -
trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-block-types-controller.php
r51000 r51501 273 273 'editor_script', 274 274 'script', 275 'view_script', 275 276 'editor_style', 276 277 'style', … … 518 519 ), 519 520 'script' => array( 521 'description' => __( 'Public facing and editor script handle.' ), 522 'type' => array( 'string', 'null' ), 523 'default' => null, 524 'context' => array( 'embed', 'view', 'edit' ), 525 'readonly' => true, 526 ), 527 'view_script' => array( 520 528 'description' => __( 'Public facing script handle.' ), 521 529 'type' => array( 'string', 'null' ), … … 532 540 ), 533 541 'style' => array( 534 'description' => __( 'Public facing style handle.' ),542 'description' => __( 'Public facing and editor style handle.' ), 535 543 'type' => array( 'string', 'null' ), 536 544 'default' => null, -
trunk/tests/phpunit/data/blocks/notice/block.json
r51268 r51501 49 49 "editorScript": "tests-notice-editor-script", 50 50 "script": "tests-notice-script", 51 "viewScript": "tests-notice-view-script", 51 52 "editorStyle": "tests-notice-editor-style", 52 53 "style": "tests-notice-style" -
trunk/tests/phpunit/tests/blocks/register.php
r51491 r51501 134 134 ); 135 135 $this->assertSame( 136 'unit-tests-my-block-view-script', 137 generate_block_asset_handle( $block_name, 'viewScript' ) 138 ); 139 $this->assertSame( 136 140 'unit-tests-my-block-editor-style', 137 141 generate_block_asset_handle( $block_name, 'editorStyle' ) … … 156 160 'wp-block-paragraph', 157 161 generate_block_asset_handle( $block_name, 'script' ) 162 ); 163 $this->assertSame( 164 'wp-block-paragraph-view', 165 generate_block_asset_handle( $block_name, 'viewScript' ) 158 166 ); 159 167 $this->assertSame( … … 373 381 $this->assertSame( 'tests-notice-editor-script', $result->editor_script ); 374 382 $this->assertSame( 'tests-notice-script', $result->script ); 383 $this->assertSame( 'tests-notice-view-script', $result->view_script ); 375 384 $this->assertSame( 'tests-notice-editor-style', $result->editor_style ); 376 385 $this->assertSame( 'tests-notice-style', $result->style ); -
trunk/tests/phpunit/tests/rest-api/rest-block-type-controller.php
r51367 r51501 216 216 'editor_script' => true, 217 217 'script' => true, 218 'view_script' => true, 218 219 'editor_style' => true, 219 220 'style' => true, … … 238 239 $this->assertNull( $data['editor_script'] ); 239 240 $this->assertNull( $data['script'] ); 241 $this->assertNull( $data['view_script'] ); 240 242 $this->assertNull( $data['editor_style'] ); 241 243 $this->assertNull( $data['style'] ); … … 269 271 'editor_script' => false, 270 272 'script' => false, 273 'view_script' => false, 271 274 'editor_style' => false, 272 275 'style' => false, … … 291 294 $this->assertNull( $data['editor_script'] ); 292 295 $this->assertNull( $data['script'] ); 296 $this->assertNull( $data['view_script'] ); 293 297 $this->assertNull( $data['editor_style'] ); 294 298 $this->assertNull( $data['style'] ); … … 375 379 $data = $response->get_data(); 376 380 $properties = $data['schema']['properties']; 377 $this->assertCount( 2 1, $properties );381 $this->assertCount( 22, $properties ); 378 382 $this->assertArrayHasKey( 'api_version', $properties ); 379 383 $this->assertArrayHasKey( 'title', $properties ); … … 390 394 $this->assertArrayHasKey( 'editor_script', $properties ); 391 395 $this->assertArrayHasKey( 'script', $properties ); 396 $this->assertArrayHasKey( 'view_script', $properties ); 392 397 $this->assertArrayHasKey( 'editor_style', $properties ); 393 398 $this->assertArrayHasKey( 'style', $properties ); … … 501 506 'editor_script', 502 507 'script', 508 'view_script', 503 509 'editor_style', 504 510 'style', -
trunk/tools/webpack/packages.js
r51268 r51501 107 107 }; 108 108 109 const dynamicBlockFolders = [110 'archives',111 'block',112 'calendar',113 'categories',114 'file',115 'latest-comments',116 'latest-posts',117 'loginout',118 'page-list',119 'post-content',120 'post-date',121 'post-excerpt',122 'post-featured-image',123 'post-terms',124 'post-title',125 'post-template',126 'query',127 'query-pagination',128 'query-pagination-next',129 'query-pagination-numbers',130 'query-pagination-previous',131 'query-title',132 'rss',133 'search',134 'shortcode',135 'site-logo',136 'site-tagline',137 'site-title',138 'social-link',139 'tag-cloud',140 ];141 const blockFolders = [142 'audio',143 'button',144 'buttons',145 'code',146 'column',147 'columns',148 'cover',149 'embed',150 'freeform',151 'gallery',152 'group',153 'heading',154 'html',155 'image',156 'list',157 'media-text',158 'missing',159 'more',160 'nextpage',161 'paragraph',162 'preformatted',163 'pullquote',164 'quote',165 'separator',166 'social-links',167 'spacer',168 'table',169 'text-columns',170 'verse',171 'video',172 ...dynamicBlockFolders,173 ];174 109 const phpFiles = { 175 110 'block-serialization-default-parser/parser.php': 'wp-includes/class-wp-block-parser.php', 176 'widgets/src/blocks/legacy-widget/index.php': 'wp-includes/blocks/legacy-widget.php',177 ...dynamicBlockFolders.reduce( ( files, blockName ) => {178 files[ `block-library/src/${ blockName }/index.php` ] = `wp-includes/blocks/${ blockName }.php`;179 return files;180 } , {} ),181 };182 const blockMetadataFiles = {183 'widgets/src/blocks/legacy-widget/block.json': 'wp-includes/blocks/legacy-widget/block.json',184 ...blockFolders.reduce( ( files, blockName ) => {185 files[ `block-library/src/${ blockName }/block.json` ] = `wp-includes/blocks/${ blockName }/block.json`;186 return files;187 } , {} ),188 111 }; 189 112 … … 230 153 from: join( baseDir, `node_modules/@wordpress/${ filename }` ), 231 154 to: join( baseDir, `src/${ phpFiles[ filename ] }` ), 232 } ) );233 234 const blockMetadataCopies = Object.keys( blockMetadataFiles ).map( ( filename ) => ( {235 from: join( baseDir, `node_modules/@wordpress/${ filename }` ),236 to: join( baseDir, `src/${ blockMetadataFiles[ filename ] }` ),237 } ) );238 239 const blockStylesheetCopies = blockFolders.map( ( blockName ) => ( {240 from: join( baseDir, `node_modules/@wordpress/block-library/build-style/${ blockName }/*.css` ),241 to: join( baseDir, `${ buildTarget }/blocks/${ blockName }/` ),242 flatten: true,243 transform: ( content ) => {244 if ( mode === 'production' ) {245 return postcss( [246 require( 'cssnano' )( {247 preset: 'default',248 } ),249 ] )250 .process( content, { from: 'src/app.css', to: 'dest/app.css' } )251 .then( ( result ) => result.css );252 }253 254 return content;255 },256 transformPath: ( targetPath, sourcePath ) => {257 if ( mode === 'production' ) {258 return targetPath.replace( /\.css$/, '.min.css' );259 }260 261 return targetPath;262 }263 155 } ) ); 264 156 … … 353 245 ...cssCopies, 354 246 ...phpCopies, 355 ...blockMetadataCopies,356 ...blockStylesheetCopies,357 247 ], 358 248 ), -
trunk/webpack.config.js
r51268 r51501 1 const blocksConfig = require( './tools/webpack/blocks' ); 1 2 const mediaConfig = require( './tools/webpack/media' ); 2 3 const packagesConfig = require( './tools/webpack/packages' ); … … 12 13 13 14 const config = [ 15 blocksConfig( env ), 14 16 mediaConfig( env ), 15 17 packagesConfig( env ),
Note: See TracChangeset
for help on using the changeset viewer.