提交 0200b7f2 编写于 作者: fxy060608's avatar fxy060608

feat(app): support --manifest

上级 6bc53658
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)
)
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册