Skip to content

[RFC] 自定义工程配置能力增强 #32

Closed
@ClarkXia

Description

@ClarkXia

背景

build-scripts 提供了多任务的能力,开发者可以针对同一工程构建添加多个 webpack 任务。而所有的用户配置对 webpack 任务的修改默认对所有的任务生效。面向一些多任务的场景,存在定制的配置需求,并不希望基础的用户配置对当前任务照成影响(目前出现影响后通过自定义 webpack 配置重新覆盖,成本较高)

onGetWebpackConfig 已支持指定 task 生效的方式,而 registerUserConfig 和 registerCliOption 默认均未提供

期望方式

为了方便不同插件间对于已添加配置有更强的定制能力,期望通过一下方式增强自定义工程配置的能力:

// registerUserConfig / registerCliOptions 支持 ignoreTask
registerUserConfig({
  name: 'target',
  validation: 'object',
  ignoreTasks: ['ssr'],
  configWebpack: () => {}
});

// 新增 modifyRegisterConfig 获取修改配置,理论上应该支持除 name 外,所有配置属性修改
modifyConfigRegistration('configName', (config) => {
  return {
    ignoreTasks: ['ssr', 'web']
  }
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions