"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugins = exports.publishers = void 0;
const tslib_1 = require("tslib");
const lowcode_code_generator_1 = tslib_1.__importDefault(require("@alilc/lowcode-code-generator"));
const vue3_1 = tslib_1.__importDefault(require("./plugins/project/vue3"));
const vue_1 = tslib_1.__importDefault(require("./plugins/component/vue3/vue"));
const methods_1 = tslib_1.__importDefault(require("./plugins/component/vue3/methods"));
const lifeCycles_1 = tslib_1.__importDefault(require("./plugins/component/vue3/lifeCycles"));
const styles_1 = tslib_1.__importDefault(require("./plugins/component/vue3/styles"));
const initState_1 = tslib_1.__importDefault(require("./plugins/component/vue3/initState"));
const constants = tslib_1.__importStar(require("./plugins/component/vue3/const"));
const globalUtils = tslib_1.__importStar(require("./utils"));
const postprocessor_1 = require("./postprocessor");
function createVueProjectBuilder() {
    return lowcode_code_generator_1.default.createProjectBuilder({
        template: vue3_1.default.template,
        plugins: {
            components: [
            // CodeGen.plugins.icejs.reactCommonDeps(),
            // CodeGen.plugins.common.esModule({ fileType: 'jsx' }),
            // CodeGen.plugins.common.styleImport(),
            // CodeGen.plugins.icejs.containerClass(),
            // CodeGen.plugins.icejs.containerInjectContext(),
            // CodeGen.plugins.icejs.containerInjectUtils(),
            // CodeGen.plugins.icejs.containerInjectDataSourceEngine(),
            // CodeGen.plugins.icejs.containerInjectI18n(),
            // CodeGen.plugins.icejs.containerInjectConstants(),
            // CodeGen.plugins.icejs.containerInitState(),
            // CodeGen.plugins.icejs.containerLifeCycle(),
            // CodeGen.plugins.icejs.containerMethod(),
            // examplePlugin(),
            // CodeGen.plugins.icejs.jsx({
            //   nodeTypeMapping: {
            //     Div: 'div',
            //     Component: 'div',
            //     Page: 'div',
            //     Block: 'div',
            //   },
            // }),
            // CodeGen.plugins.style.css(),
            ],
            pages: [
                // CodeGen.plugins.icejs.reactCommonDeps(),
                // CodeGen.plugins.common.esModule({ fileType: 'jsx' })
                // CodeGen.plugins.common.styleImport(),
                // CodeGen.plugins.icejs.containerClass(),
                // CodeGen.plugins.icejs.containerInjectContext(),
                // CodeGen.plugins.icejs.containerInjectUtils(),
                // CodeGen.plugins.icejs.containerInjectDataSourceEngine(),
                // CodeGen.plugins.icejs.containerInjectI18n(),
                // CodeGen.plugins.icejs.containerInjectConstants(),
                // CodeGen.plugins.icejs.containerInitState(),
                // CodeGen.plugins.icejs.containerLifeCycle(),
                // CodeGen.plugins.icejs.containerMethod(),
                // examplePlugin(),
                (0, initState_1.default)(),
                (0, lifeCycles_1.default)(),
                (0, methods_1.default)(),
                (0, styles_1.default)(),
                (0, vue_1.default)({
                    nodeTypeMapping: {
                        Div: 'div',
                        Component: 'div',
                        Page: 'div',
                        Block: 'div',
                    },
                }),
                // CodeGen.plugins.style.css(),
            ],
            router: [
                // CodeGen.plugins.common.esModule(),
                vue3_1.default.plugins.router(),
            ],
            entry: [vue3_1.default.plugins.entry()],
            app: [vue3_1.default.plugins.app()],
            mainCss: [vue3_1.default.plugins.mainCss()],
            // constants: [CodeGen.plugins.project.constants()],
            // utils: [
            //   CodeGen.plugins.common.esModule(),
            //   CodeGen.plugins.project.utils('react'),
            // ],
            // i18n: [CodeGen.plugins.project.i18n()],
            // globalStyle: [CodeGen.solutionParts.icejs.plugins.globalStyle()],
            htmlEntry: [vue3_1.default.plugins.entryHtml()],
            packageJSON: [vue3_1.default.plugins.packageJSON()],
        },
        postProcessors: [(0, postprocessor_1.prettier)()],
    });
}
exports.default = createVueProjectBuilder;
exports.publishers = lowcode_code_generator_1.default.publishers;
exports.plugins = {
    methods: methods_1.default,
    vue: vue_1.default,
    styles: styles_1.default,
    constants,
    globalUtils,
};
//# sourceMappingURL=index.js.map