export default function createIceJsProjectBuilder()

in modules/code-generator/src/solutions/icejs3.ts [29:100]


export default function createIceJsProjectBuilder(
  options?: IceJs3ProjectBuilderOptions,
): IProjectBuilder {
  return createProjectBuilder({
    inStrictMode: options?.inStrictMode,
    extraContextData: { ...options },
    template: icejs3.template,
    plugins: {
      components: [
        reactCommonDeps(),
        esmodule({
          fileType: 'jsx',
        }),
        styleImport(),
        containerClass(),
        containerInjectContext(),
        containerInjectUtils(),
        containerInjectDataSourceEngine(),
        containerInjectI18n(),
        containerInjectConstants(),
        containerInitState(),
        containerLifeCycle(),
        containerMethod(),
        jsx({
          nodeTypeMapping: {
            Div: 'div',
            Component: 'div',
            Page: 'div',
            Block: 'div',
          },
        }),
        css(),
      ],
      pages: [
        reactCommonDeps(),
        esmodule({
          fileType: 'jsx',
        }),
        styleImport(),
        containerClass(),
        containerInjectContext(),
        containerInjectUtils(),
        containerInjectDataSourceEngine(),
        containerInjectI18n(),
        containerInjectConstants(),
        containerInitState(),
        containerLifeCycle(),
        containerMethod(),
        jsx({
          nodeTypeMapping: {
            Div: 'div',
            Component: 'div',
            Page: 'div',
            Block: 'div',
            Box: 'div',
          },
        }),
        css(),
      ],
      constants: [constants()],
      utils: [esmodule(), utils('react')],
      i18n: [i18n()],
      globalStyle: [icejs3.plugins.globalStyle()],
      packageJSON: [icejs3.plugins.packageJSON()],
      buildConfig: [icejs3.plugins.buildConfig()],
      appConfig: [icejs3.plugins.appConfig()],
      layout: [icejs3.plugins.layout()],
    },
    postProcessors: [prettier()],
    customizeBuilderOptions: options?.customizeBuilderOptions,
  });
}