소스 검색

fix: 添加tag方式

bill 2 년 전
부모
커밋
021136f0d0
5개의 변경된 파일38개의 추가작업 그리고 5개의 파일을 삭제
  1. 2 1
      package.json
  2. 17 0
      scripts/tag.js
  3. 6 1
      src/index.tsx
  4. 6 0
      src/version.json
  5. 7 3
      src/views/example/index.tsx

+ 2 - 1
package.json

@@ -47,7 +47,8 @@
     "start-prod": "craco start --env prod",
     "build": "craco build",
     "test": "craco test",
-    "eject": "craco eject"
+    "eject": "craco eject",
+    "tag": "node ./scripts/tag.js"
   },
   "eslintConfig": {
     "extends": "react-app",

+ 17 - 0
scripts/tag.js

@@ -0,0 +1,17 @@
+const version = require('../src/version.json')
+const exec = require('child_process').execSync
+const fs = require('fs')
+const path = require('path')
+
+const tagName = version.main + (version.env === 'dev' ? `-alpha-${version.version}` : '')
+try {
+  exec(`git tag ${tagName} -m ''; git push origin ${tagName}`);
+  if (version.env === 'dev') {
+    version.version++
+    const local = path.resolve(__dirname, '../src/version.json')
+    fs.writeFileSync(local, JSON.stringify(version, null, 2))
+  }
+  console.log('版本成功发布')
+} catch (e) {
+  console.error('shell error ', e)
+}

+ 6 - 1
src/index.tsx

@@ -1,4 +1,3 @@
-import React from 'react';
 import ReactDOM from 'react-dom/client';
 import { AppRouter } from 'router'
 import { AppStore } from 'store'
@@ -6,6 +5,7 @@ import zhCN from 'antd/es/locale/zh_CN';
 import { ConfigProvider } from 'antd';
 import 'antd/dist/antd.less';
 import './public.scss'
+import version from './version.json'
 
 const root = ReactDOM.createRoot(
   document.getElementById('root') as HTMLElement
@@ -20,3 +20,8 @@ root.render(
     </ConfigProvider>
   // </React.StrictMode>
 );
+
+console.log(
+  `\n %c %c fuse-back V${version.main}${version.env === 'dev' ? `-alpha-${version.version}` : ''} - ${location.origin}  \n`, 
+  "background: #1fe4dc; padding:5px 0;", "color: #000; background: #1fe4dc; padding:5px 0;"
+)

+ 6 - 0
src/version.json

@@ -0,0 +1,6 @@
+{
+  "env": "dev",
+  "main": 1.2,
+  "append": "alpha",
+  "version": 5
+}

+ 7 - 3
src/views/example/index.tsx

@@ -11,7 +11,7 @@ import { ExampleScenes } from './scene/list'
 import { useState } from 'react'
 import { alert, confirm, getHref, onlyOpenWindow } from 'utils'
 import { SceneType, SceneTypeDomain, SceneTypePaths } from 'constant'
-import { useNavigate, RoutePath, fillRoutePath } from 'router'
+import { RoutePath, fillRoutePath } from 'router'
 
 import type { ColumnAction } from 'components'
 import type { MenuProps } from 'antd'
@@ -70,7 +70,6 @@ export const ExampleAction = ({ example, query, deleteExample, ...actionCallback
 export const ExamplePage = () => {
   const examples = useSelector(examplesSelector)
   const states = useThunkPaging({ caseTitle: '' }, fetchExamples)
-  const navigate = useNavigate()
   const [[paging, setPaging], [params, setParams], refresh] = states
   const [scenesCaseId, setScenesCaseId] = useState<Example['caseId'] | null>(null)
   const [inInsert, setInInsert] = useState(false)
@@ -122,7 +121,12 @@ export const ExamplePage = () => {
           }}
           example={record}
           sceneManage={() => setScenesCaseId(record.caseId)}
-          file={() => navigate(fillRoutePath(RoutePath.files, { id: record.caseId.toString() }))}
+          file={() => {
+            const url = new URL(location.href);
+            url.hash = fillRoutePath(RoutePath.files, { id: record.caseId.toString() })
+            window.open(url)
+            // navigate()
+          }}
           query={() => checkScenesOpen(record.caseId, `${getFuseCodeLink(record.caseId, true)}&share=1#show/summary`)}
           fuse={() => checkScenesOpen(record.caseId, `${getFuseCodeLink(record.caseId)}#fuseEdit/merge`)}
           getView={() => checkScenesOpen(record.caseId, `${getFuseCodeLink(record.caseId)}#sceneEdit/view`)}