chore: support alpha version and fix build error (#600)

* chore: build bundle support alpha version

* fix: fix color-select-panel/rich-text-editor build error

* fix: fix vue2.6 export version not found error
This commit is contained in:
Kagol 2023-10-19 14:42:01 +08:00 committed by GitHub
parent 0e288244c4
commit 8080e95896
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 15 additions and 9 deletions

View File

@ -10,7 +10,7 @@ import { getAlias, pathFromWorkspaceRoot } from '../../config/vite'
import { external } from '../../shared/config' import { external } from '../../shared/config'
import type { Module } from '../../shared/module-utils' import type { Module } from '../../shared/module-utils'
import { getAllIcons, getAllModules, getByName } from '../../shared/module-utils' import { getAllIcons, getAllModules, getByName } from '../../shared/module-utils'
import { logGreen, kebabCase, capitalizeKebabCase, getMinorVersion, isValidVersion } from '../../shared/utils' import { logGreen, kebabCase, capitalizeKebabCase, getPatchVersion, isValidVersion } from '../../shared/utils'
import generatePackageJsonPlugin from './rollup/generate-package-json' import generatePackageJsonPlugin from './rollup/generate-package-json'
import inlineChunksPlugin from './rollup/inline-chunks' import inlineChunksPlugin from './rollup/inline-chunks'
import replaceModuleNamePlugin from './rollup/replace-module-name' import replaceModuleNamePlugin from './rollup/replace-module-name'
@ -138,9 +138,9 @@ export const getBaseConfig = ({ vueVersion, dtsInclude, dts, buildTarget, isRunt
Object.entries(content.dependencies).forEach(([key, value]) => { Object.entries(content.dependencies).forEach(([key, value]) => {
// dependencies里的@opentiny,统一使用:~x.x.0 // dependencies里的@opentiny,统一使用:~x.x.0
if (isThemeOrRenderless(key)) { if (isThemeOrRenderless(key)) {
dependencies[key] = getMinorVersion(themeAndRenderlessVersion) dependencies[key] = getPatchVersion(themeAndRenderlessVersion)
} else if ((value as string).includes('workspace:~')) { } else if ((value as string).includes('workspace:~')) {
dependencies[key] = getMinorVersion(versionTarget) dependencies[key] = getPatchVersion(versionTarget)
} else { } else {
dependencies[key] = value dependencies[key] = value
} }

View File

@ -25,6 +25,8 @@ export default function ({ deleteInlinedFiles = true }): Plugin {
.replace(/export {[\s\S]+$/, '') .replace(/export {[\s\S]+$/, '')
.replace(/_extends/g, '_extends_tiny') .replace(/_extends/g, '_extends_tiny')
.replace(/_createForOfIteratorHelperLoose/g, '_createForOfIteratorHelperLoose_tiny') .replace(/_createForOfIteratorHelperLoose/g, '_createForOfIteratorHelperLoose_tiny')
.replace(/_unsupportedIterableToArray/g, '_unsupportedIterableToArray_tiny')
.replace(/_arrayLikeToArray/g, '_arrayLikeToArray_tiny')
bundlesToDelete.add(chunkName) bundlesToDelete.add(chunkName)
} }

View File

@ -283,6 +283,13 @@ const getMinorVersion = (version) => {
return `~${semver.major(version)}.${semver.minor(version)}.0` return `~${semver.major(version)}.${semver.minor(version)}.0`
} }
// 支持 alpha / beta 等版本号
export const getPatchVersion = (version) => {
const versionItems = version.split('.')
versionItems.pop()
return `~${versionItems.join('.')}.0`
}
/** /**
* *
* @param {String} name | * @param {String} name |

View File

@ -5,16 +5,16 @@ import { bindFilter, emitter, getElementCssClass, getElementStatusClass } from '
import teleport from '../teleport' import teleport from '../teleport'
// vue2.7有version字段 // vue2.7有version字段
const isVueHoos = Boolean(vueHooks.version?.includes('2.7')) const isVueHooks = Boolean(Vue.version?.includes('2.7'))
const hooks = isVueHoos ? vueHooks : compositionHooks const hooks = isVueHooks ? vueHooks : compositionHooks
const Teleport = teleport(hooks) const Teleport = teleport(hooks)
export { emitter, bindFilter, getElementCssClass, getElementStatusClass, Teleport } export { emitter, bindFilter, getElementCssClass, getElementStatusClass, Teleport }
// 只有在vue的版本小于2.7并且composition-api没有注册的情况下才去注册hooks // 只有在vue的版本小于2.7并且composition-api没有注册的情况下才去注册hooks
if (!hooks.default['__composition_api_installed__'] && !isVueHoos) { if (!hooks.default['__composition_api_installed__'] && !isVueHooks) {
Vue.use(hooks.default) Vue.use(hooks.default)
} }

View File

@ -1,5 +1,4 @@
import RichTextEditor from './src/pc.vue' import RichTextEditor from './src/pc.vue'
import '@opentiny/vue-theme/logout/index.less'
import { version } from './package.json' import { version } from './package.json'
/* istanbul ignore next */ /* istanbul ignore next */

View File

@ -2,5 +2,3 @@ packages:
- packages/** - packages/**
- examples/* - examples/*
- internals/* - internals/*
- '!packages/dist*/**'
- '!packages/**/dist'