Skip to content

Commit

Permalink
Merge branch 'refactor/develop' into feat/configurable-style-configur…
Browse files Browse the repository at this point in the history
…ator
  • Loading branch information
yy-wow committed Jan 14, 2025
2 parents 3fcfde6 + 8295c3f commit 381d3fb
Show file tree
Hide file tree
Showing 220 changed files with 3,291 additions and 1,351 deletions.
77 changes: 77 additions & 0 deletions .github/workflows/Release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Release

on:
push:
tags:
- 'v*'

jobs:
release:
if: github.repository == 'opentiny/tiny-engine'
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 18
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'

- name: Install dependencies
run: pnpm install

- name: Run Build
run: pnpm run build:plugin && pnpm run build:alpha > build-alpha.log 2>&1

- name: Upload build logs
uses: actions/upload-artifact@v4
with:
name: build-alpha-log
path: build-alpha.log

- name: Parse Publish tag
id: parse_tag
run: |
tag_name="${GITHUB_REF#refs/tags/}"
if [[ "$tag_name" == *alpha* ]]; then
echo "dist_tag=alpha" >> "$GITHUB_OUTPUT"
elif [[ "$tag_name" == *beta* ]]; then
echo "dist_tag=beta" >> "$GITHUB_OUTPUT"
elif [[ "$tag_name" == *rc* ]]; then
echo "dist_tag=rc" >> "$GITHUB_OUTPUT"
else
echo "dist_tag=latest" >> "$GITHUB_OUTPUT"
fi
- name: Verify clean working directory
run: |
if [[ -n "$(git status --porcelain)" ]]; then
echo "Working directory is not clean"
exit 1
fi
- name: Verify package version match tag
run: |
tag_name="${GITHUB_REF#refs/tags/}"
package_version=$(pnpm lerna list --scope=@opentiny/tiny-engine --json | jq -r '.[0].version')
if [[ "$tag_name" != "v$package_version" ]]; then
echo "Tag name $tag_name does not match package version $package_version"
exit 1
fi
- name: Publish package to npm
run: pnpm lerna publish from-package --dist-tag ${{steps.parse_tag.outputs.dist_tag}} --yes
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
60 changes: 30 additions & 30 deletions .github/workflows/push-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,40 @@ on:
push:
branches: []
pull_request:
branches: [develop,main, refactor/develop]
branches: [develop, main, refactor/develop, release/*]

jobs:
push-check:
runs-on: ubuntu-latest # windows-latest || macos-latest
runs-on: ubuntu-latest # windows-latest || macos-latest

steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 18

- name: Install dependencies
run: pnpm i
- name: Install dependencies
run: pnpm i

- name: Get changed files
id: get_changed_files
uses: tj-actions/changed-files@v41
with:
files: |
**.js
**.vue
**.jsx
- name: Run ESLint
run: npx eslint ${{steps.get_changed_files.outputs.all_changed_files}}
- name: Run Build
run: pnpm run build:plugin && pnpm run build:alpha > build-alpha.log 2>&1
- name: Get changed files
id: get_changed_files
uses: tj-actions/changed-files@v41
with:
files: |
**.js
**.vue
**.jsx
- name: Run ESLint
run: npx eslint ${{steps.get_changed_files.outputs.all_changed_files}}
- name: Run Build
run: pnpm run build:plugin && pnpm run build:alpha > build-alpha.log 2>&1

- name: Upload build logs
uses: actions/upload-artifact@v4
with:
name: build-alpha-log
path: build-alpha.log
- name: Upload build logs
uses: actions/upload-artifact@v4
with:
name: build-alpha-log
path: build-alpha.log
2 changes: 1 addition & 1 deletion designer-demo/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "designer-demo",
"private": true,
"version": "2.0.0",
"version": "2.1.0",
"type": "module",
"scripts": {
"dev": "cross-env VITE_THEME=light vite",
Expand Down
2 changes: 1 addition & 1 deletion mockServer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentiny/tiny-engine-mock",
"version": "2.0.0",
"version": "2.1.0",
"publishConfig": {
"access": "public"
},
Expand Down
7 changes: 3 additions & 4 deletions packages/block-compiler/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentiny/tiny-engine-block-compiler",
"version": "2.0.0-rc.2",
"version": "2.1.0",
"publishConfig": {
"access": "public"
},
Expand All @@ -27,7 +27,6 @@
"author": "OpenTiny Team",
"license": "MIT",
"homepage": "https://opentiny.design/tiny-engine",
"dependencies": {},
"devDependencies": {
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
Expand All @@ -43,7 +42,7 @@
"peerDependencies": {
"@babel/core": "^7.26.0",
"@vue/babel-plugin-jsx": "^1.2.5",
"vue": "^3.4.15",
"@vue/compiler-sfc": "^3.4.15"
"@vue/compiler-sfc": "^3.4.15",
"vue": "^3.4.15"
}
}
4 changes: 2 additions & 2 deletions packages/block-compiler/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export interface IResultMap {
[key: string]: compiledItem
}

const resolveRelativeImport = (code: string, globalGetterName = 'getBlockComponentBlobUrl') => {
const resolveRelativeImport = (code: string, globalGetterName = 'loadBlockComponent') => {
const magicStr = new MagicString(code)
const ast = babelParse(code, { sourceType: 'module', plugins: ['jsx'] }).program.body

Expand Down Expand Up @@ -86,7 +86,7 @@ const resolveRelativeImport = (code: string, globalGetterName = 'getBlockCompone
// 声明异步组件 const Block = defineAsyncComponent(() => import(getBlockUrl(Block)))
magicStr.appendLeft(
node.start!,
`const ${defaultImportId} = defineAsyncComponent(() => import(window.${globalGetterName}('${fileName}')))`
`const ${defaultImportId} = defineAsyncComponent(() => window.${globalGetterName}('${fileName}'))`
)

// 移除 import Block from './Block.vue' 语句
Expand Down
2 changes: 1 addition & 1 deletion packages/blockToWebComponentTemplate/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentiny/tiny-engine-block-build",
"version": "2.0.0",
"version": "2.1.0",
"description": "translate block to webcomponent template",
"main": "./dist/web-components.es.js",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion packages/build/vite-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentiny/tiny-engine-vite-config",
"version": "2.0.0",
"version": "2.1.0",
"description": "",
"type": "module",
"main": "./index.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/build/vite-plugin-meta-comments/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentiny/tiny-engine-vite-plugin-meta-comments",
"version": "2.0.0",
"version": "2.1.0",
"description": "",
"type": "module",
"main": "dist/index.cjs",
Expand Down
2 changes: 1 addition & 1 deletion packages/builtinComponent/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentiny/tiny-engine-builtin-component",
"version": "2.0.0",
"version": "2.1.0",
"description": "",
"main": "dist/index.mjs",
"module": "dist/index.mjs",
Expand Down
3 changes: 2 additions & 1 deletion packages/canvas/DesignCanvas/src/DesignCanvas.vue
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,11 @@ export default {
// 1. 页面或区块状态是未保存状态(尝试编辑)
// 2. 页面刷新或第一次进入页面(含从别的页面或区块切换到别的页面或区块)
// 3. 页面上已经有弹窗,不允许重复弹窗
// 4. 当前历史堆栈为0,且当前未保存状态和上一次未保存状态不一致,不重复弹窗
const showConfirm = !isSaved || pageSchema !== oldPageSchema
if (!showConfirm || showModal) {
if (!showConfirm || showModal || (useHistory().historyState?.index === 0 && isSaved !== oldIsSaved)) {
return
}
Expand Down
19 changes: 12 additions & 7 deletions packages/canvas/DesignCanvas/src/api/useCanvas.js
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ const resetCanvasState = async (state = {}) => {

const diffPatch = jsonDiffPatchInstance.diff(previousSchema, pageState.pageSchema)

canvasApi.value?.clearSelect?.()
publish({ topic: 'schemaImport', data: { current: pageState.pageSchema, previous: previousSchema, diffPatch } })
}

Expand Down Expand Up @@ -297,15 +298,18 @@ const operationTypeMap = {
}
}

if (position === 'after') {
if (position === 'before') {
parentNode.children.unshift(newNodeData)
} else {
parentNode.children.push(newNodeData)
setNode(newNodeData, parentNode)
}

// 递归构建 nodeMap
if (Array.isArray(newNodeData?.children) && newNodeData.children.length) {
const newNode = getNode(newNodeData.id)
generateNodesMap(newNodeData.children, newNode)
}
setNode(newNodeData, parentNode)

// 递归构建 nodeMap
if (Array.isArray(newNodeData?.children) && newNodeData.children.length) {
const newNode = getNode(newNodeData.id)
generateNodesMap(newNodeData.children, newNode)
}

return {
Expand Down Expand Up @@ -555,6 +559,7 @@ export default function () {
setSaved,
clearCanvas,
getPageSchema,
resetCanvasState,
resetPageCanvasState,
resetBlockCanvasState,
clearCurrentState,
Expand Down
3 changes: 2 additions & 1 deletion packages/canvas/common/src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ export const copyObject = (node) => {
*/
export const dynamicImportComponents = async ({ package: pkg, script, components }) => {
if (!script) return
const scriptUrl = script.startsWith('.') ? new URL(script, location.href).href : script
const href = window.parent.location.href || location.href; // 这里要取父窗口的地址,因为在iframe中href是about:srcdoc
const scriptUrl = script.startsWith('.') ? new URL(script, href).href : script

if (!window.TinyComponentLibs[pkg]) {
const modules = await import(/* @vite-ignore */ scriptUrl)
Expand Down
11 changes: 5 additions & 6 deletions packages/canvas/container/src/components/CanvasAction.vue
Original file line number Diff line number Diff line change
Expand Up @@ -253,21 +253,20 @@ export default {
const findParentHasClass = (target) => {
let parent = target.parentNode
let flag = false
if (parent.className === undefined) {
return false
}
let name = JSON.stringify(parent.className)
if (name && name.indexOf('short-cut-set') === -1 && name.indexOf('tiny-dialog-box') === -1) {
flag = findParentHasClass(parent)
} else {
flag = true
const preventClassNameList = ['short-cut-set', 'tiny-dialog-box', 'icon-popover', 'i18n-input-popover']
if (preventClassNameList.some((item) => name?.includes(item))) {
return true
}
return flag
return findParentHasClass(parent)
}
const onMousedown = (event, horizontal, vertical) => {
Expand Down
11 changes: 10 additions & 1 deletion packages/canvas/container/src/components/CanvasResize.vue
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</template>
<script>
import { ref, computed, watch, nextTick } from 'vue'
import { useLayout } from '@opentiny/tiny-engine-meta-register'
import { useLayout, useCanvas } from '@opentiny/tiny-engine-meta-register'
import { canvasState } from '../container'
export default {
Expand Down Expand Up @@ -106,6 +106,15 @@ export default {
{ flush: 'post' }
)
watch(
() => sizeStyle.value,
() => {
nextTick(() => {
useCanvas().canvasApi.value?.updateRect?.()
})
}
)
return {
onMouseDown,
onMouseMove,
Expand Down
4 changes: 2 additions & 2 deletions packages/canvas/container/src/container.js
Original file line number Diff line number Diff line change
Expand Up @@ -822,8 +822,8 @@ export const canvasApi = {
getDocument,
canvasDispatch,
Builtin,
removeBlockCompsCacheByName: (...args) => {
return canvasState.renderer.removeBlockCompsCacheByName(...args)
removeBlockCompsCache: (...args) => {
return canvasState.renderer.removeBlockCompsCache(...args)
},
updateCanvas: (...args) => {
return canvasState.renderer.updateCanvas(...args)
Expand Down
2 changes: 1 addition & 1 deletion packages/canvas/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentiny/tiny-engine-canvas",
"version": "2.0.0",
"version": "2.1.0",
"publishConfig": {
"access": "public"
},
Expand Down
4 changes: 2 additions & 2 deletions packages/canvas/render/src/RenderMain.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import renderer, {
setController,
globalNotify,
isStateAccessor,
removeBlockCompsCacheByName
removeBlockCompsCache
} from './render'
import { setContext, getContext, setCondition, context, getDesignMode, setDesignMode } from './context'
import CanvasEmpty from './CanvasEmpty.vue'
Expand Down Expand Up @@ -505,6 +505,6 @@ export const api = {
setRenderer,
getDesignMode,
setDesignMode,
removeBlockCompsCacheByName,
removeBlockCompsCache,
updateCanvas
}
Loading

0 comments on commit 381d3fb

Please sign in to comment.