From 0200b7f2833c9a6b4f188757031d819496dc0505 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 5 Nov 2021 15:49:17 +0800 Subject: [PATCH] feat(app): support --manifest --- packages/vite-plugin-uni/src/cli/build.ts | 30 ++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/vite-plugin-uni/src/cli/build.ts b/packages/vite-plugin-uni/src/cli/build.ts index cc93f471b..03319d936 100644 --- a/packages/vite-plugin-uni/src/cli/build.ts +++ b/packages/vite-plugin-uni/src/cli/build.ts @@ -1,10 +1,19 @@ -import fs from 'fs-extra' import path from 'path' +import fs from 'fs-extra' import { build as buildByVite, BuildOptions, InlineConfig } from 'vite' +import { + initPreContext, + normalizeAppManifestJson, + parseManifestJsonOnce, + parsePagesJsonOnce, +} from '@dcloudio/uni-cli-shared' import { CliOptions } from '.' import { addConfigFile, cleanOptions } from './utils' export async function build(options: CliOptions) { + if (options.platform === 'app' && (options as BuildOptions).manifest) { + return buildManifestJson() + } return buildByVite( addConfigFile( initBuildOptions(options, cleanOptions(options) as BuildOptions) @@ -58,3 +67,22 @@ function initBuildOptions( build, } } + +function buildManifestJson() { + const platform = 'app' + const inputDir = process.env.UNI_INPUT_DIR + const outputDir = process.env.UNI_OUTPUT_DIR + + const pkg = require('@dcloudio/vite-plugin-uni/package.json') + process.env.UNI_COMPILER_VERSION = pkg['uni-app']?.['compilerVersion'] || '' + initPreContext(platform) + + const manifestJson = normalizeAppManifestJson( + parseManifestJsonOnce(inputDir), + parsePagesJsonOnce(inputDir, platform) + ) + fs.outputFileSync( + path.resolve(outputDir, 'manifest.json'), + JSON.stringify(manifestJson, null, 2) + ) +} -- GitLab