Make WordPress Core

Changeset 54308


Ignore:
Timestamp:
09/26/2022 11:40:44 AM (4 years ago)
Author:
gziolo
Message:

Tools: Simplify syncing core blocks from Gutenberg plugin to Core

Follow-up [53688].

Removes the hardcoded list of blocks that should be synced from the Gutenberg plugin. webpack reads all information from the @wordpress/block-library by scanning block.json files.

Props zieladam, azaozz.
Fixes #56179.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/webpack/blocks.js

    r54307 r54308  
    1414 */
    1515const { normalizeJoin, stylesTransform, baseConfig, baseDir } = require( './shared' );
     16const {
     17        isDynamic,
     18        toDirectoryName,
     19        getStableBlocksMetadata,
     20} = require( '../release/sync-stable-blocks' );
    1621
    1722module.exports = function( env = { environment: 'production', watch: false, buildTarget: false } ) {
     
    1924        const suffix = mode === 'production' ? '.min' : '';
    2025        let buildTarget = env.buildTarget ? env.buildTarget : ( mode === 'production' ? 'build' : 'src' );
    21         buildTarget = buildTarget  + '/wp-includes';
     26        buildTarget = buildTarget + '/wp-includes';
    2227
    23         const dynamicBlockFolders = [
    24                 'archives',
    25                 'avatar',
    26                 'block',
    27                 'calendar',
    28                 'categories',
    29                 'comment-author-name',
    30                 'comment-content',
    31                 'comment-date',
    32                 'comment-edit-link',
    33                 'comment-reply-link',
    34                 'comment-template',
    35                 'comments',
    36                 'comments-pagination',
    37                 'comments-pagination-next',
    38                 'comments-pagination-numbers',
    39                 'comments-pagination-previous',
    40                 'comments-title',
    41                 'cover',
    42                 'file',
    43                 'gallery',
    44                 'home-link',
    45                 'image',
    46                 'latest-comments',
    47                 'latest-posts',
    48                 'loginout',
    49                 'navigation',
    50                 'navigation-link',
    51                 'navigation-submenu',
    52                 'page-list',
    53                 'pattern',
    54                 'post-author',
    55                 'post-author-biography',
    56                 'post-comments-form',
    57                 'post-content',
    58                 'post-date',
    59                 'post-excerpt',
    60                 'post-featured-image',
    61                 'post-navigation-link',
    62                 'post-template',
    63                 'post-terms',
    64                 'post-title',
    65                 'query',
    66                 'query-no-results',
    67                 'query-pagination',
    68                 'query-pagination-next',
    69                 'query-pagination-numbers',
    70                 'query-pagination-previous',
    71                 'query-title',
    72                 'read-more',
    73                 'rss',
    74                 'search',
    75                 'shortcode',
    76                 'site-logo',
    77                 'site-tagline',
    78                 'site-title',
    79                 'social-link',
    80                 'tag-cloud',
    81                 'template-part',
    82                 'term-description',
    83         ];
    84         const blockFolders = [
    85                 'audio',
    86                 'button',
    87                 'buttons',
    88                 'code',
    89                 'column',
    90                 'columns',
    91                 'embed',
    92                 'freeform',
    93                 'group',
    94                 'heading',
    95                 'html',
    96                 'list',
    97                 'list-item',
    98                 'media-text',
    99                 'missing',
    100                 'more',
    101                 'nextpage',
    102                 'paragraph',
    103                 'preformatted',
    104                 'pullquote',
    105                 'quote',
    106                 'separator',
    107                 'social-links',
    108                 'spacer',
    109                 'table',
    110                 'text-columns',
    111                 'verse',
    112                 'video',
    113                 ...dynamicBlockFolders,
    114         ];
     28        const blocks = getStableBlocksMetadata();
     29        const dynamicBlockFolders = blocks.filter( isDynamic ).map( toDirectoryName );
     30        const blockFolders = blocks.map( toDirectoryName );
    11531        const blockPHPFiles = {
    11632                'widgets/src/blocks/legacy-widget/index.php': 'wp-includes/blocks/legacy-widget.php',
     
    11935                        files[ `block-library/src/${ blockName }/index.php` ] = `wp-includes/blocks/${ blockName }.php`;
    12036                        return files;
    121                 } , {} ),
     37                }, {} ),
    12238        };
    12339        const blockMetadataFiles = {
     
    12743                        files[ `block-library/src/${ blockName }/block.json` ] = `wp-includes/blocks/${ blockName }/block.json`;
    12844                        return files;
    129                 } , {} ),
     45                }, {} ),
    13046        };
    13147
     
    16480                                'process.env.IS_GUTENBERG_PLUGIN': false,
    16581                                'process.env.FORCE_REDUCED_MOTION': JSON.stringify(
    166                                         process.env.FORCE_REDUCED_MOTION
     82                                        process.env.FORCE_REDUCED_MOTION,
    16783                                ),
    16884                        } ),
Note: See TracChangeset for help on using the changeset viewer.