mirror of https://github.com/vuejs/core.git
workflow: support building types in build script
This commit is contained in:
parent
57f0fbe76a
commit
7f1b546a99
|
@ -12,7 +12,13 @@ if (!existsSync('temp/packages')) {
|
|||
process.exit(1)
|
||||
}
|
||||
|
||||
export default readdirSync('temp/packages').map(pkg => {
|
||||
const packages = readdirSync('temp/packages')
|
||||
const targets = process.env.TARGETS ? process.env.TARGETS.split(',') : null
|
||||
const targetPackages = targets
|
||||
? packages.filter(pkg => targets.includes(pkg))
|
||||
: packages
|
||||
|
||||
export default targetPackages.map(pkg => {
|
||||
return {
|
||||
input: `./temp/packages/${pkg}/src/index.d.ts`,
|
||||
output: {
|
||||
|
|
|
@ -34,6 +34,7 @@ const targets = args._
|
|||
const formats = args.formats || args.f
|
||||
const devOnly = args.devOnly || args.d
|
||||
const prodOnly = !devOnly && (args.prodOnly || args.p)
|
||||
const buildTypes = args.withTypes || args.t
|
||||
const sourceMap = args.sourcemap || args.s
|
||||
const isRelease = args.release
|
||||
const buildAllMatching = args.all || args.a
|
||||
|
@ -44,12 +45,25 @@ run()
|
|||
async function run() {
|
||||
const removeCache = scanEnums()
|
||||
try {
|
||||
if (!targets.length) {
|
||||
await buildAll(allTargets)
|
||||
checkAllSizes(allTargets)
|
||||
} else {
|
||||
await buildAll(fuzzyMatchTarget(targets, buildAllMatching))
|
||||
checkAllSizes(fuzzyMatchTarget(targets, buildAllMatching))
|
||||
const resolvedTargets = targets.length
|
||||
? fuzzyMatchTarget(targets, buildAllMatching)
|
||||
: allTargets
|
||||
await buildAll(resolvedTargets)
|
||||
checkAllSizes(resolvedTargets)
|
||||
if (buildTypes) {
|
||||
await execa(
|
||||
'pnpm',
|
||||
[
|
||||
'run',
|
||||
'build-dts',
|
||||
...(targets.length
|
||||
? ['--environment', `TARGETS:${resolvedTargets.join(',')}`]
|
||||
: [])
|
||||
],
|
||||
{
|
||||
stdio: 'inherit'
|
||||
}
|
||||
)
|
||||
}
|
||||
} finally {
|
||||
removeCache()
|
||||
|
|
|
@ -199,9 +199,9 @@ async function main() {
|
|||
// build all packages with types
|
||||
step('\nBuilding all packages...')
|
||||
if (!skipBuild && !isDryRun) {
|
||||
await run('pnpm', ['run', 'build'])
|
||||
step('\nBuilding and testing types...')
|
||||
await run('pnpm', ['test-dts'])
|
||||
await run('pnpm', ['run', 'build', '--withTypes'])
|
||||
step('\nTesting built types...')
|
||||
await run('pnpm', ['test-dts-only'])
|
||||
} else {
|
||||
console.log(`(skipped)`)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue