| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.uniMiniProgramPlugin = void 0;
- const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
- const uni_1 = require("./uni");
- const build_1 = require("./build");
- const configResolved_1 = require("./configResolved");
- const template_1 = require("./template");
- const pagesJson_1 = require("../plugins/pagesJson");
- const polyfill_1 = require("./polyfill");
- function uniMiniProgramPlugin(options) {
- const { vite: { alias, copyOptions }, template, style, } = options;
- let nvueCssEmitted = false;
- let resolvedConfig;
- (0, polyfill_1.rewriteCompileScriptOnce)();
- (0, polyfill_1.rewriteCompilerSfcParseOnce)();
- return {
- name: 'uni:mp',
- uni: (0, uni_1.uniOptions)({
- copyOptions,
- customElements: template.customElements,
- miniProgram: {
- event: template.event,
- class: template.class,
- filter: template.filter ? { lang: template.filter.lang } : undefined,
- directive: template.directive,
- lazyElement: template.lazyElement,
- component: template.component,
- emitFile: template_1.emitFile,
- slot: template.slot,
- },
- compilerOptions: template.compilerOptions,
- }),
- config() {
- return {
- base: '/',
- resolve: {
- alias: {
- vue: (0, uni_cli_shared_1.resolveBuiltIn)('@dcloudio/uni-mp-vue'),
- '@vue/devtools-api': (0, uni_cli_shared_1.resolveBuiltIn)('@dcloudio/uni-mp-vue'),
- 'vue-i18n': (0, uni_cli_shared_1.resolveVueI18nRuntime)(),
- ...alias,
- },
- preserveSymlinks: true,
- },
- css: {
- postcss: {
- plugins: (0, uni_cli_shared_1.initPostcssPlugin)({
- uniApp: (0, uni_cli_shared_1.parseRpx2UnitOnce)(process.env.UNI_INPUT_DIR, process.env.UNI_PLATFORM),
- }),
- },
- },
- optimizeDeps: {
- disabled: true,
- },
- build: (0, build_1.buildOptions)(),
- };
- },
- configResolved(config) {
- resolvedConfig = config;
- return (0, configResolved_1.createConfigResolved)(options)(config);
- },
- generateBundle() {
- if (template.filter) {
- const extname = template.filter.extname;
- const filterFiles = (0, template_1.getFilterFiles)(resolvedConfig, this.getModuleInfo);
- Object.keys(filterFiles).forEach((filename) => {
- const { code } = filterFiles[filename];
- this.emitFile({
- type: 'asset',
- fileName: filename + extname,
- source: code,
- });
- });
- }
- const templateFiles = (0, template_1.getTemplateFiles)(template);
- Object.keys(templateFiles).forEach((filename) => {
- this.emitFile({
- type: 'asset',
- fileName: filename + template.extname,
- source: templateFiles[filename],
- });
- });
- if (!nvueCssEmitted) {
- const nvueCssPaths = (0, pagesJson_1.getNVueCssPaths)(resolvedConfig);
- if (nvueCssPaths && nvueCssPaths.length) {
- nvueCssEmitted = true;
- this.emitFile({
- type: 'asset',
- fileName: 'nvue' + style.extname,
- source: (0, uni_cli_shared_1.genNVueCssCode)((0, uni_cli_shared_1.parseManifestJsonOnce)(process.env.UNI_INPUT_DIR)),
- });
- }
- }
- },
- };
- }
- exports.uniMiniProgramPlugin = uniMiniProgramPlugin;
|