Changeset 51259
- Timestamp:
- 06/29/2021 03:08:16 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/.gitignore
r51258 r51259 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 34 /src/wp-includes/blocks/**/*.asset.php 32 35 /packagehash.txt 33 36 /artifacts -
trunk/Gruntfile.js
r51173 r51259 997 997 WORKING_DIR + 'wp-content/themes/twenty*/**/*.js', 998 998 '!' + WORKING_DIR + 'wp-content/themes/twenty*/node_modules/**/*.js', 999 '!' + WORKING_DIR + 'wp-includes/blocks/**/*.js', 999 1000 '!' + WORKING_DIR + 'wp-includes/js/dist/**/*.js', 1000 1001 ] -
trunk/src/wp-includes/blocks.php
r51255 r51259 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 } … … 307 316 } 308 317 318 if ( ! empty( $metadata['viewScript'] ) ) { 319 $settings['view_script'] = register_block_script_handle( 320 $metadata, 321 'viewScript' 322 ); 323 } 324 309 325 if ( ! empty( $metadata['editorStyle'] ) ) { 310 326 $settings['editor_style'] = register_block_style_handle( -
trunk/src/wp-includes/class-wp-block-type.php
r51244 r51259 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.0.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 … … 226 234 * @type array $uses_context Context values inherited by blocks of this type. 227 235 * @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. 236 * @type string|null $editor_script Block type editor only script handle. 237 * @type string|null $script Block type front end and editor script handle. 238 * @type string|null $view_script Block type front end only script handle. 239 * @type string|null $editor_style Block type editor only style handle. 240 * @type string|null $style Block type front end and editor style handle. 232 241 * } 233 242 */ -
trunk/tests/phpunit/data/blocks/notice/block.json
r49981 r51259 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
r50927 r51259 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/tools/webpack/packages.js
r51212 r51259 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
r46586 r51259 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.