# 3.8.7.20230627-alpha

babel.config.js

jest.config.js

tsconfig.json

package.json

postcss.config.js

const webpack = require('webpack')
const plugins = []

if (process.env.UNI_OPT_TREESHAKINGNG) {
	plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js'))
}

if (
	(
		process.env.UNI_PLATFORM === 'app-plus' &&
		process.env.UNI_USING_V8
	) ||
	(
		process.env.UNI_PLATFORM === 'h5' &&
		process.env.UNI_H5_BROWSER === 'builtin'
	)
) {
	const path = require('path')

	const isWin = /^win/.test(process.platform)

	const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)

	const input = normalizePath(process.env.UNI_INPUT_DIR)
	try {
		plugins.push([
			require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'),
			{
				file(file) {
					file = normalizePath(file)
					if (file.indexOf(input) === 0) {
						return path.relative(input, file)
					}
					return false
				}
			}
		])
	} catch (e) {}
}

process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui']
process.UNI_LIBRARIES.forEach(libraryName => {
	plugins.push([
		'import',
		{
			'libraryName': libraryName,
			'customName': (name) => {
				return `${libraryName}/lib/${name}/${name}`
			}
		}
	])
})

if (process.env.UNI_PLATFORM !== 'h5') {
	plugins.push('@babel/plugin-transform-runtime')
}

const config = {
	presets: [
		[
			'@vue/app',
			{
				modules: webpack.version[0] > 4 ? 'auto' : 'commonjs',
				useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry'
			}
		]
	],
	plugins
}

const UNI_H5_TEST = '**/@dcloudio/uni-h5/dist/index.umd.min.js'
if (process.env.NODE_ENV === 'production') {
	config.overrides = [{
		test: UNI_H5_TEST,
		compact: true,
	}]
} else {
	config.ignore = [UNI_H5_TEST]
}

module.exports = config

# 3.8.6.20230620-alpha

babel.config.js

jest.config.js

tsconfig.json

package.json

postcss.config.js

const webpack = require('webpack')
const plugins = []

if (process.env.UNI_OPT_TREESHAKINGNG) {
	plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js'))
}

if (
	(
		process.env.UNI_PLATFORM === 'app-plus' &&
		process.env.UNI_USING_V8
	) ||
	(
		process.env.UNI_PLATFORM === 'h5' &&
		process.env.UNI_H5_BROWSER === 'builtin'
	)
) {
	const path = require('path')

	const isWin = /^win/.test(process.platform)

	const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)

	const input = normalizePath(process.env.UNI_INPUT_DIR)
	try {
		plugins.push([
			require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'),
			{
				file(file) {
					file = normalizePath(file)
					if (file.indexOf(input) === 0) {
						return path.relative(input, file)
					}
					return false
				}
			}
		])
	} catch (e) {}
}

process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui']
process.UNI_LIBRARIES.forEach(libraryName => {
	plugins.push([
		'import',
		{
			'libraryName': libraryName,
			'customName': (name) => {
				return `${libraryName}/lib/${name}/${name}`
			}
		}
	])
})

if (process.env.UNI_PLATFORM !== 'h5') {
	plugins.push('@babel/plugin-transform-runtime')
}

const config = {
	presets: [
		[
			'@vue/app',
			{
				modules: webpack.version[0] > 4 ? 'auto' : 'commonjs',
				useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry'
			}
		]
	],
	plugins
}

const UNI_H5_TEST = '**/@dcloudio/uni-h5/dist/index.umd.min.js'
if (process.env.NODE_ENV === 'production') {
	config.overrides = [{
		test: UNI_H5_TEST,
		compact: true,
	}]
} else {
	config.ignore = [UNI_H5_TEST]
}

module.exports = config