@shijiu/jsview-vue 0.9.246 → 0.9.254

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dom/bin/package.json +11 -11
  2. package/dom/browser-root-style.css +21 -21
  3. package/loader/jsview-main.js +41 -41
  4. package/loader/jsview.config.default.js +37 -37
  5. package/loader/jsview.default.config.js +37 -37
  6. package/package.json +6 -6
  7. package/patches/node_modules/@babel/preset-env/lib/available-plugins.js +218 -218
  8. package/patches/node_modules/@vue/cli-plugin-typescript/index.js +100 -100
  9. package/patches/node_modules/@vue/cli-service/lib/commands/serve.js +395 -395
  10. package/patches/node_modules/@vue/cli-service/lib/config/app.js +272 -272
  11. package/patches/node_modules/@vue/cli-service/lib/config/assets.js +70 -70
  12. package/patches/node_modules/@vue/cli-service/lib/config/base.js +212 -212
  13. package/patches/node_modules/postcss-js/objectifier.js +90 -90
  14. package/patches/node_modules/vue-loader/dist/resolveScript.js +70 -70
  15. package/samples/AdvanceMetroWidget/App.vue +122 -122
  16. package/samples/AdvanceMetroWidget/Frame.vue +100 -100
  17. package/samples/AdvanceMetroWidget/Item.vue +57 -57
  18. package/samples/AdvanceMetroWidget/data.js +136 -136
  19. package/samples/AnimPicture/App.vue +223 -223
  20. package/samples/Basic/App.vue +128 -128
  21. package/samples/Basic/components/TitleBar.vue +28 -28
  22. package/samples/Basic/components/anim/AnimGroup.vue +67 -67
  23. package/samples/Basic/components/anim/AnimKeyframeBasic.vue +101 -101
  24. package/samples/Basic/components/anim/AnimKeyframeComposite.vue +52 -52
  25. package/samples/Basic/components/anim/AnimTransition.vue +116 -116
  26. package/samples/Basic/components/div/DivBackground.vue +14 -14
  27. package/samples/Basic/components/div/DivClip.vue +80 -80
  28. package/samples/Basic/components/div/DivCssScoped.vue +26 -26
  29. package/samples/Basic/components/div/DivCssVar.vue +49 -49
  30. package/samples/Basic/components/div/DivGroup1.vue +32 -32
  31. package/samples/Basic/components/div/DivGroup2.vue +40 -40
  32. package/samples/Basic/components/div/DivLayout.vue +11 -11
  33. package/samples/Basic/components/div/DivRadius.vue +46 -46
  34. package/samples/Basic/components/text/TextAlign.vue +47 -47
  35. package/samples/Basic/components/text/TextFontStyle.vue +57 -57
  36. package/samples/Basic/components/text/TextGroup.vue +31 -31
  37. package/samples/Basic/components/text/TextOverflow.vue +77 -77
  38. package/samples/BasicFocusControl/App.vue +124 -124
  39. package/samples/BasicFocusControl/components/BaseBlock.vue +50 -50
  40. package/samples/BasicFocusControl/components/MainArea.vue +97 -97
  41. package/samples/BasicFocusControl/components/MainAreaLeftBlock.vue +20 -20
  42. package/samples/BasicFocusControl/components/MainAreaRightBlock.vue +29 -29
  43. package/samples/BasicFocusControl/components/SideBar.vue +72 -72
  44. package/samples/BasicFocusControl/components/SideBarBlock.vue +29 -29
  45. package/samples/ClassNameDemo/App.vue +119 -119
  46. package/samples/ClassNameDemo/components/ContentItem.vue +252 -252
  47. package/samples/ClassNameDemo/components/LoadingView.vue +43 -43
  48. package/samples/ClassNameDemo/components/TitleView.vue +24 -24
  49. package/samples/ClassNameDemo/data.js +24 -24
  50. package/samples/ColorSpace/App.vue +134 -134
  51. package/samples/DemoHomepage/App.vue +31 -31
  52. package/samples/DemoHomepage/components/BodyFrame.vue +81 -81
  53. package/samples/DemoHomepage/components/Dialog.vue +93 -93
  54. package/samples/DemoHomepage/components/Item.vue +76 -76
  55. package/samples/DemoHomepage/components/TabFrame.vue +86 -86
  56. package/samples/DemoHomepage/router.js +132 -132
  57. package/samples/DemoHomepage/views/Homepage.vue +186 -186
  58. package/samples/FlipCard/App.vue +80 -80
  59. package/samples/FlipCard/FlipCard.vue +123 -123
  60. package/samples/FlipCard/data.js +12 -12
  61. package/samples/FlowMultiWidget/App.vue +90 -90
  62. package/samples/FlowMultiWidget/components/Block.vue +106 -106
  63. package/samples/FlowMultiWidget/components/FlowPage.vue +59 -59
  64. package/samples/FlowMultiWidget/components/Item.vue +102 -102
  65. package/samples/FlowMultiWidget/components/MenuItem.vue +71 -71
  66. package/samples/FlowMultiWidget/components/MyMenu.vue +89 -89
  67. package/samples/FlowMultiWidget/data.js +446 -446
  68. package/samples/HashHistory/App.vue +124 -124
  69. package/samples/HashHistory/components/HorizontalButtonList.vue +113 -113
  70. package/samples/HashHistory/components/Item.vue +73 -73
  71. package/samples/HashHistory/router.js +29 -29
  72. package/samples/HashHistory/views/BasePage.vue +18 -18
  73. package/samples/HashHistory/views/MainPage.vue +67 -67
  74. package/samples/HashHistory/views/SubPage.vue +78 -78
  75. package/samples/HashHistory/views/SubPageFirst.vue +9 -9
  76. package/samples/HashHistory/views/SubPageSecond.vue +9 -9
  77. package/samples/LongImage/App.vue +96 -96
  78. package/samples/LongImage/Button.vue +153 -153
  79. package/samples/LongImage/LongImageScroll.vue +126 -126
  80. package/samples/LongImage/Scroll.vue +15 -15
  81. package/samples/LongText/App.vue +111 -111
  82. package/samples/LongText/Button.vue +153 -153
  83. package/samples/LongText/LongTextScroll.vue +224 -224
  84. package/samples/LongText/Scroll.vue +15 -15
  85. package/samples/Preload/App.vue +145 -145
  86. package/samples/Preload/data.js +22 -22
  87. package/samples/Preload/preloadItem.vue +21 -21
  88. package/samples/QrcodeDemo/App.vue +72 -72
  89. package/samples/SimpleWidgetDemo/App.vue +203 -203
  90. package/samples/SimpleWidgetDemo/Item.vue +82 -82
  91. package/samples/SimpleWidgetDemo/components/ContentItem.vue +411 -411
  92. package/samples/SimpleWidgetDemo/components/MyTab.vue +116 -116
  93. package/samples/SimpleWidgetDemo/data.js +110 -110
  94. package/samples/SprayView/App.vue +269 -269
  95. package/samples/SpriteImage/App.vue +174 -174
  96. package/samples/SpriteImage/images/egg_break.json +116 -116
  97. package/samples/TextBox/App.vue +178 -178
  98. package/samples/TextBox/RenderCenter.vue +108 -108
  99. package/samples/TextBox/RenderLeft.vue +108 -108
  100. package/samples/TextBox/RenderOneLine.vue +119 -119
  101. package/samples/TextBox/RenderRight.vue +106 -106
  102. package/samples/TextShadowDemo/App.vue +97 -97
  103. package/samples/TextureSize/App.vue +141 -141
  104. package/samples/ThrowMoveDemo/AccelerateDemo.vue +117 -117
  105. package/samples/ThrowMoveDemo/App.vue +113 -113
  106. package/samples/ThrowMoveDemo/LRParabolicDemo.vue +115 -115
  107. package/samples/ThrowMoveDemo/TargetDemo.vue +116 -116
  108. package/samples/ThrowMoveDemo/UDParabolicDemo.vue +121 -121
  109. package/samples/TransitPage/App.vue +40 -40
  110. package/samples/VideoDemo/App.vue +137 -137
  111. package/samples/VideoDemo/components/Button.vue +68 -68
  112. package/samples/VideoDemo/components/Controllor.vue +195 -195
  113. package/samples/VideoDemo/components/VideoFrame.vue +152 -152
  114. package/scripts/common.js +115 -92
  115. package/scripts/deploy-fast-pack.js +17 -0
  116. package/scripts/deploy-fast-publish.js +44 -0
  117. package/scripts/{git-commit-empty.js → deploy-git-commit-empty.js} +21 -21
  118. package/scripts/{pre-pack.js → deploy-prepare.js} +56 -39
  119. package/scripts/{install-local-packages.js → jsview-install-local-packages.js} +73 -73
  120. package/scripts/{post-build.js → jsview-post-build.js} +127 -127
  121. package/scripts/{post-install.js → jsview-post-install.js} +78 -78
  122. package/scripts/{run-android.js → jsview-run-android.js} +64 -64
  123. package/scripts/make-js.sh +181 -181
  124. package/utils/JsViewEngineWidget/bin/index.js +1 -1
  125. package/utils/JsViewEngineWidget/bin/package.json +11 -11
  126. package/utils/JsViewVueTools/JsvHashHistory.js +111 -111
  127. package/utils/JsViewVueTools/JsvRuntimeBridge.js +417 -417
  128. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +80 -80
  129. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserQrcode.vue +147 -147
  130. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserSpray.vue +54 -54
  131. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/ApicDataBase.js +28 -28
  132. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/BrowserApic.vue +123 -123
  133. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/GifData.js +83 -83
  134. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/LoopToolBase.js +25 -25
  135. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/NormalLoopTool.js +61 -61
  136. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/PartLoopTool.js +119 -119
  137. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/Viewer.js +106 -106
  138. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/WebpData.js +141 -141
  139. package/utils/JsViewVueWidget/BrowserDebugWidget/WidgetLoader.js +20 -20
  140. package/utils/JsViewVueWidget/JsvActorMove/ActorControlBase.js +204 -204
  141. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +63 -63
  142. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.js +426 -426
  143. package/utils/JsViewVueWidget/JsvActorMove/index.js +12 -12
  144. package/utils/JsViewVueWidget/JsvApic/JsvApic.vue +178 -178
  145. package/utils/JsViewVueWidget/JsvApic/index.js +17 -17
  146. package/utils/JsViewVueWidget/JsvMarquee.vue +196 -196
  147. package/utils/JsViewVueWidget/JsvNinePatch.vue +76 -76
  148. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +350 -350
  149. package/utils/JsViewVueWidget/JsvPreload/index.js +21 -21
  150. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +140 -140
  151. package/utils/JsViewVueWidget/JsvQrcode/index.js +18 -18
  152. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +139 -139
  153. package/utils/JsViewVueWidget/JsvSpray/index.js +14 -14
  154. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +447 -447
  155. package/utils/JsViewVueWidget/JsvSpriteAnim/SpriteController.js +56 -56
  156. package/utils/JsViewVueWidget/JsvSpriteAnim/index.js +6 -6
  157. package/utils/JsViewVueWidget/JsvSwiper/Indicator.vue +34 -34
  158. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +494 -494
  159. package/utils/JsViewVueWidget/JsvSwiper/index.js +9 -9
  160. package/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue +34 -34
  161. package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +403 -403
  162. package/utils/JsViewVueWidget/JsvSwiper3D/index.js +9 -9
  163. package/utils/JsViewVueWidget/JsvTextBox.vue +110 -110
  164. package/utils/JsViewVueWidget/JsvVideo.vue +35 -35
  165. package/vetur.config.js +5 -5
  166. package/.gitmodules +0 -6
  167. package/README.md +0 -15
  168. package/doc/IMPORT_CHANGE_LOG.txt +0 -3
  169. package/doc/about-project-postinstall.md +0 -0
  170. package/doc/git_commit.md +0 -15
  171. package/doc/test_version_up.txt +0 -1
  172. package/scripts/update-version.js +0 -32
  173. package/shijiu-jsview-vue-0.9.246.tgz +0 -0
@@ -1,152 +1,152 @@
1
- <script>
2
- import { inject, watch } from 'vue'
3
- import { Options, Vue } from "vue-class-component";
4
- import JsvVideo from "jsview/utils/JsViewVueWidget/JsvVideo.vue"
5
-
6
- @Options({
7
- components: {
8
- JsvVideo
9
- }
10
- })
11
-
12
- class VideoFrame extends Vue {
13
- constructor(props) {
14
- super(props);
15
- this.useTexture = inject('useTexture');
16
- this.objectFit = inject('objectFit');
17
- this.videoRect = inject('videoRect');
18
- this.playVideo = inject('playVideo');
19
- this.seekVideo = inject('seekVideo');
20
- this.enableAnimation = inject('enableAnimation');
21
- this.videoTime = inject('videoTime');
22
- this.playStatus = inject('playStatus')
23
- watch(this.playVideo, this.setPlayState.bind(this));
24
- watch(this.seekVideo, this.seekVideoStep.bind(this));
25
-
26
- this.videoUrl = "http://qcast-image.oss-cn-qingdao.aliyuncs.com/homepage/20190726/4cc4e6a8fd7d9d9c707ed4c4da27ca9d.mp4";
27
- this.canAutoPlay = !window.jsvIsBrowserDebug; // jsview自动播放该视频 TODO h5需做相应调整
28
-
29
- this.video = null;
30
-
31
- this.rect = {
32
- top: 50, left: 40,
33
- width: 1200, height: 500,
34
- }
35
-
36
- this.textureAnim = null;
37
- }
38
-
39
- mounted() {
40
- if(this.canAutoPlay) {
41
- this.playVideo = true;
42
- }
43
- }
44
-
45
- onVideoRef(ele) {
46
- this.video = ele;
47
- }
48
-
49
- setPlayState(play) {
50
- if(play) {
51
- this.video?.play();
52
- } else {
53
- this.video?.pause();
54
- }
55
- }
56
-
57
- seekVideoStep(time) {
58
- if(this.video) {
59
- let playEnd = false;
60
- let seekTime = this.video.currentTime + Math.ceil(time);
61
- if(seekTime < 0) {
62
- seekTime = 0;
63
- } else if(seekTime > this.videoTime.duration) {
64
- seekTime = this.videoTime.duration;
65
- if(this.video.currentTime != this.videoTime.duration) { // 触发一次播放,收到ended事件
66
- playEnd = true;
67
- }
68
- }
69
- this.video.currentTime = seekTime;
70
- if(playEnd) {
71
- this.setPlayState(true);
72
- }
73
- }
74
- }
75
-
76
- onPlayStateChange(event) {
77
- console.log("VideoFrame.onPlayStateChangeEvent()", event);
78
- this.playVideo = (event.type === 'play' ? true : false);
79
- if(!(this.playStatus == 'ended' && event.type == 'pause')) { // 忽略播放结束后的pause事件
80
- this.playStatus = event.type;
81
- }
82
- }
83
-
84
- onTimeUpdate(event) {
85
- console.log("VideoFrame.onTimeUpdateEvent()", event);
86
- this.videoTime.currentTime = this.video.currentTime;
87
- }
88
-
89
- onDurationChange(event) {
90
- console.log("VideoFrame.onDurationChangeEvent()", event);
91
- this.videoTime.duration = this.video.duration;
92
- }
93
-
94
- onEvent(event) {
95
- console.log("VideoFrame.onEvent()", event);
96
- }
97
- }
98
-
99
- export default VideoFrame;
100
- </script>
101
-
102
- <template>
103
- <div>
104
- <div
105
- :style="{
106
- ...videoRect,
107
- backgroundColor: 'rgb(200,100,100)'
108
- }"
109
- />
110
- <JsvVideo
111
- :onRef="onVideoRef"
112
- :useTexture="useTexture"
113
- :src="videoUrl"
114
- :autoplay="canAutoPlay ? 'autoplay' : undefined"
115
- :style="{
116
- ...videoRect,
117
- objectFit: objectFit,
118
- animation: (useTexture&&enableAnimation ? 'offscreenAnim 3s infinite' : null),
119
- borderRadius: '80px 80px 160px 240px',
120
- }"
121
- :onCanPlay="onEvent"
122
- :onCanPlayThrough="onEvent"
123
- :onDurationChange="onDurationChange"
124
- :onEnded="onPlayStateChange"
125
- :onError="onPlayStateChange"
126
- :onLoad="onEvent"
127
- :onLoadedMetadata="onEvent"
128
- :onLoadStart="onEvent"
129
- :onPause="onPlayStateChange"
130
- :onPlay="onPlayStateChange"
131
- :onPlaying="onEvent"
132
- :onProgress="onEvent"
133
- :onSeeking="onEvent"
134
- :onSeeked="onTimeUpdate"
135
- :onStalled="onEvent"
136
- :onTimeUpdate="onTimeUpdate"
137
- />
138
- </div>
139
- </template>
140
-
141
- <style scoped>
142
- @keyframes offscreenAnim {
143
- from {
144
- transform:scale3d(1, 1, 1) rotate3d(0, 0, 1, -360deg);
145
- transform-origin: center center;
146
- }
147
- to {
148
- transform:scale3d(0.4, 0.4, 0) rotate3d(0, 0, 1, 0);
149
- transform-origin: center center;
150
- }
151
- }
152
- </style>
1
+ <script>
2
+ import { inject, watch } from 'vue'
3
+ import { Options, Vue } from "vue-class-component";
4
+ import JsvVideo from "jsview/utils/JsViewVueWidget/JsvVideo.vue"
5
+
6
+ @Options({
7
+ components: {
8
+ JsvVideo
9
+ }
10
+ })
11
+
12
+ class VideoFrame extends Vue {
13
+ constructor(props) {
14
+ super(props);
15
+ this.useTexture = inject('useTexture');
16
+ this.objectFit = inject('objectFit');
17
+ this.videoRect = inject('videoRect');
18
+ this.playVideo = inject('playVideo');
19
+ this.seekVideo = inject('seekVideo');
20
+ this.enableAnimation = inject('enableAnimation');
21
+ this.videoTime = inject('videoTime');
22
+ this.playStatus = inject('playStatus')
23
+ watch(this.playVideo, this.setPlayState.bind(this));
24
+ watch(this.seekVideo, this.seekVideoStep.bind(this));
25
+
26
+ this.videoUrl = "http://qcast-image.oss-cn-qingdao.aliyuncs.com/homepage/20190726/4cc4e6a8fd7d9d9c707ed4c4da27ca9d.mp4";
27
+ this.canAutoPlay = !window.jsvIsBrowserDebug; // jsview自动播放该视频 TODO h5需做相应调整
28
+
29
+ this.video = null;
30
+
31
+ this.rect = {
32
+ top: 50, left: 40,
33
+ width: 1200, height: 500,
34
+ }
35
+
36
+ this.textureAnim = null;
37
+ }
38
+
39
+ mounted() {
40
+ if(this.canAutoPlay) {
41
+ this.playVideo = true;
42
+ }
43
+ }
44
+
45
+ onVideoRef(ele) {
46
+ this.video = ele;
47
+ }
48
+
49
+ setPlayState(play) {
50
+ if(play) {
51
+ this.video?.play();
52
+ } else {
53
+ this.video?.pause();
54
+ }
55
+ }
56
+
57
+ seekVideoStep(time) {
58
+ if(this.video) {
59
+ let playEnd = false;
60
+ let seekTime = this.video.currentTime + Math.ceil(time);
61
+ if(seekTime < 0) {
62
+ seekTime = 0;
63
+ } else if(seekTime > this.videoTime.duration) {
64
+ seekTime = this.videoTime.duration;
65
+ if(this.video.currentTime != this.videoTime.duration) { // 触发一次播放,收到ended事件
66
+ playEnd = true;
67
+ }
68
+ }
69
+ this.video.currentTime = seekTime;
70
+ if(playEnd) {
71
+ this.setPlayState(true);
72
+ }
73
+ }
74
+ }
75
+
76
+ onPlayStateChange(event) {
77
+ console.log("VideoFrame.onPlayStateChangeEvent()", event);
78
+ this.playVideo = (event.type === 'play' ? true : false);
79
+ if(!(this.playStatus == 'ended' && event.type == 'pause')) { // 忽略播放结束后的pause事件
80
+ this.playStatus = event.type;
81
+ }
82
+ }
83
+
84
+ onTimeUpdate(event) {
85
+ console.log("VideoFrame.onTimeUpdateEvent()", event);
86
+ this.videoTime.currentTime = this.video.currentTime;
87
+ }
88
+
89
+ onDurationChange(event) {
90
+ console.log("VideoFrame.onDurationChangeEvent()", event);
91
+ this.videoTime.duration = this.video.duration;
92
+ }
93
+
94
+ onEvent(event) {
95
+ console.log("VideoFrame.onEvent()", event);
96
+ }
97
+ }
98
+
99
+ export default VideoFrame;
100
+ </script>
101
+
102
+ <template>
103
+ <div>
104
+ <div
105
+ :style="{
106
+ ...videoRect,
107
+ backgroundColor: 'rgb(200,100,100)'
108
+ }"
109
+ />
110
+ <JsvVideo
111
+ :onRef="onVideoRef"
112
+ :useTexture="useTexture"
113
+ :src="videoUrl"
114
+ :autoplay="canAutoPlay ? 'autoplay' : undefined"
115
+ :style="{
116
+ ...videoRect,
117
+ objectFit: objectFit,
118
+ animation: (useTexture&&enableAnimation ? 'offscreenAnim 3s infinite' : null),
119
+ borderRadius: '80px 80px 160px 240px',
120
+ }"
121
+ :onCanPlay="onEvent"
122
+ :onCanPlayThrough="onEvent"
123
+ :onDurationChange="onDurationChange"
124
+ :onEnded="onPlayStateChange"
125
+ :onError="onPlayStateChange"
126
+ :onLoad="onEvent"
127
+ :onLoadedMetadata="onEvent"
128
+ :onLoadStart="onEvent"
129
+ :onPause="onPlayStateChange"
130
+ :onPlay="onPlayStateChange"
131
+ :onPlaying="onEvent"
132
+ :onProgress="onEvent"
133
+ :onSeeking="onEvent"
134
+ :onSeeked="onTimeUpdate"
135
+ :onStalled="onEvent"
136
+ :onTimeUpdate="onTimeUpdate"
137
+ />
138
+ </div>
139
+ </template>
140
+
141
+ <style scoped>
142
+ @keyframes offscreenAnim {
143
+ from {
144
+ transform:scale3d(1, 1, 1) rotate3d(0, 0, 1, -360deg);
145
+ transform-origin: center center;
146
+ }
147
+ to {
148
+ transform:scale3d(0.4, 0.4, 0) rotate3d(0, 0, 1, 0);
149
+ transform-origin: center center;
150
+ }
151
+ }
152
+ </style>
package/scripts/common.js CHANGED
@@ -1,93 +1,116 @@
1
- #!/usr/bin/env node
2
-
3
- const path = require("path");
4
- const fs = require("fs");
5
- const { execSync } = require('child_process');
6
-
7
- function updateVersion(projectDir, ignoreChanges)
8
- {
9
- let cmdLine = 'cd ' + projectDir + ' && git rev-list --count HEAD';
10
- let patchVersion = execSync(cmdLine, { stderr: "inherit" });
11
- patchVersion = parseInt(patchVersion);
12
-
13
- pkgPkgFile = path.resolve(projectDir, 'package.json');
14
- if (!fs.existsSync(pkgPkgFile)) {
15
- console.error('Error: Failed to install jsview patches, "' + path.relative(projectDir, pkgPkgFile) + '" is not exists.');
16
- process.exit(1);
17
- }
18
- pkgPkgObj = require(pkgPkgFile);
19
- console.log(pkgPkgObj.version, patchVersion)
20
- if (pkgPkgObj.version.endsWith("." + patchVersion)) {
21
- console.info('\nFound version: ' + pkgPkgObj.version);
22
- return;
23
- }
24
-
25
- if (!ignoreChanges) {
26
- let cmdLine = 'cd ' + projectDir + ' && git status --porcelain';
27
- let gitChanges = execSync(cmdLine, { stderr: "inherit" });
28
- if (gitChanges) {
29
- return gitChanges;
30
- }
31
- }
32
-
33
- // 替换PatchVersion为git 提交数。
34
- pkgPkgObj.version = pkgPkgObj.version.replace(/\.[0-9]*$/, '.' + patchVersion);
35
-
36
- fs.writeFileSync(pkgPkgFile, JSON.stringify(pkgPkgObj, null, 2));
37
- console.info('\nUpdated version to ' + pkgPkgObj.version);
38
- }
39
-
40
- function cpSync(workDir, src, dest) {
41
- const exists = fs.existsSync(src);
42
- const stats = exists && fs.statSync(src);
43
- const isDirectory = exists && stats.isDirectory();
44
- if (isDirectory) {
45
- if (fs.existsSync(dest) == false) {
46
- fs.mkdirSync(dest);
47
- }
48
- fs.readdirSync(src).forEach(function(childItemName) {
49
- cpSync(
50
- workDir,
51
- path.join(src, childItemName),
52
- path.join(dest, childItemName)
53
- );
54
- });
55
- } else {
56
- console.info(
57
- " " + path.relative(workDir, src) + " -> " + path.relative(workDir, dest)
58
- );
59
- fs.copyFileSync(src, dest);
60
- }
61
- }
62
-
63
- function rmSync(path) {
64
- if (!!fs.rmSync) {
65
- fs.rmSync(path, { recursive: true, force: true });
66
- } else {
67
- deleteFolderRecursive(path)
68
- }
69
- }
70
-
71
- function deleteFolderRecursive(path) {
72
- var files = [];
73
- if (fs.existsSync(path)) {
74
- files = fs.readdirSync(path);
75
- files.forEach(function(file, index) {
76
- var curPath = path + "/" + file;
77
- if (fs.lstatSync(curPath).isDirectory()) {
78
- // recurse
79
- deleteFolderRecursive(curPath);
80
- } else {
81
- // delete file
82
- fs.unlinkSync(curPath);
83
- }
84
- });
85
- fs.rmdirSync(path);
86
- }
87
- }
88
-
89
- module.exports = {
90
- updateVersion,
91
- cpSync,
92
- rmSync
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const readline = require('readline')
6
+ const { execSync } = require('child_process');
7
+
8
+ function updateVersion(projectDir, ignoreChanges)
9
+ {
10
+ let cmdLine = 'cd ' + projectDir + ' && git rev-list --count HEAD';
11
+ let patchVersion = execSync(cmdLine, { stderr: "inherit" });
12
+ patchVersion = parseInt(patchVersion);
13
+
14
+ pkgPkgFile = path.resolve(projectDir, 'package.json');
15
+ if (!fs.existsSync(pkgPkgFile)) {
16
+ console.error('Error: Failed to install jsview patches, "' + path.relative(projectDir, pkgPkgFile) + '" is not exists.');
17
+ process.exit(1);
18
+ }
19
+ pkgPkgObj = require(pkgPkgFile);
20
+ if (pkgPkgObj.version.endsWith("." + patchVersion)) {
21
+ console.info('\nFound version: ' + pkgPkgObj.version);
22
+ return;
23
+ }
24
+
25
+ if (!ignoreChanges) {
26
+ let cmdLine = 'cd ' + projectDir + ' && git status --porcelain';
27
+ let gitChanges = execSync(cmdLine, { stderr: "inherit" });
28
+ gitChanges = gitChanges.toString();
29
+ if (gitChanges) {
30
+ return gitChanges;
31
+ }
32
+ }
33
+
34
+ // 替换PatchVersion为git 提交数。
35
+ pkgPkgObj.version = pkgPkgObj.version.replace(/\.[0-9]*$/, '.' + patchVersion);
36
+
37
+ fs.writeFileSync(pkgPkgFile, JSON.stringify(pkgPkgObj, null, 2));
38
+ console.info('\nUpdated version to ' + pkgPkgObj.version);
39
+ }
40
+
41
+ async function syncReadIO(prompt) {
42
+ const input = readline.createInterface({
43
+ input: process.stdin,
44
+ output: process.stdout
45
+ });
46
+ input.on('SIGINT', function () {
47
+ console.error("Error: User cancelled.")
48
+ process.exit(1);
49
+ });
50
+
51
+ let ret;
52
+ input.question(prompt,
53
+ answer => {
54
+ input.close();
55
+ ret = answer;
56
+ });
57
+ for await (const line of input) {}
58
+
59
+ return ret;
60
+ }
61
+
62
+ function cpSync(workDir, src, dest) {
63
+ const exists = fs.existsSync(src);
64
+ const stats = exists && fs.statSync(src);
65
+ const isDirectory = exists && stats.isDirectory();
66
+ if (isDirectory) {
67
+ if (fs.existsSync(dest) == false) {
68
+ fs.mkdirSync(dest);
69
+ }
70
+ fs.readdirSync(src).forEach(function(childItemName) {
71
+ cpSync(
72
+ workDir,
73
+ path.join(src, childItemName),
74
+ path.join(dest, childItemName)
75
+ );
76
+ });
77
+ } else {
78
+ console.info(
79
+ " " + path.relative(workDir, src) + " -> " + path.relative(workDir, dest)
80
+ );
81
+ fs.copyFileSync(src, dest);
82
+ }
83
+ }
84
+
85
+ function rmSync(path) {
86
+ if (!!fs.rmSync) {
87
+ fs.rmSync(path, { recursive: true, force: true });
88
+ } else {
89
+ deleteFolderRecursive(path)
90
+ }
91
+ }
92
+
93
+ function deleteFolderRecursive(path) {
94
+ var files = [];
95
+ if (fs.existsSync(path)) {
96
+ files = fs.readdirSync(path);
97
+ files.forEach(function(file, index) {
98
+ var curPath = path + "/" + file;
99
+ if (fs.lstatSync(curPath).isDirectory()) {
100
+ // recurse
101
+ deleteFolderRecursive(curPath);
102
+ } else {
103
+ // delete file
104
+ fs.unlinkSync(curPath);
105
+ }
106
+ });
107
+ fs.rmdirSync(path);
108
+ }
109
+ }
110
+
111
+ module.exports = {
112
+ cpSync,
113
+ rmSync,
114
+ syncReadIO,
115
+ updateVersion,
93
116
  }
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { execSync } = require('child_process');
4
+
5
+ function main() {
6
+ const options = {};
7
+ options.projectDir = process.cwd();
8
+
9
+ let cmdLine = 'cd ' + options.projectDir + '&& node ./scripts/deploy-prepare.js';
10
+ console.info('Run [' + cmdLine + ']... ');
11
+ execSync(cmdLine, { stdio: 'inherit', stderr: 'inherit' });
12
+
13
+ cmdLine = 'cd ' + options.projectDir + '&& npm pack';
14
+ console.info('Run [' + cmdLine + ']... ');
15
+ execSync(cmdLine, { stdio: 'inherit', stderr: 'inherit' });
16
+ }
17
+ main();
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+
3
+ const readline = require('readline')
4
+ const { execSync } = require('child_process');
5
+ const { syncReadIO } = require('./common');
6
+
7
+ function login(registry) {
8
+ let cmdLine = 'npm whoami --registry ' + registry;
9
+ console.info('Run [' + cmdLine + ']... ');
10
+ let ret;
11
+ try {
12
+ ret = execSync(cmdLine, { stderr: 'ignore' });
13
+ console.info('Logined user name is: ' + ret?.toString())
14
+ } catch (err) {
15
+ }
16
+ if (!ret?.toString().startsWith('qcast')) {
17
+ console.info('Please use "qcast" [support@qcast.cn] to login and publish jsview to npmjs.')
18
+ let cmdLine = 'npm adduser --registry ' + registry;
19
+ console.info('Run [' + cmdLine + ']... ');
20
+ try {
21
+ execSync(cmdLine, { stdio: 'inherit', stderr: 'inherit' });
22
+ } catch (err) {
23
+ console.error('Failed to login to npmjs.')
24
+ process.exit(1)
25
+ }
26
+ }
27
+ }
28
+
29
+ function main() {
30
+ const options = {};
31
+ options.projectDir = process.cwd();
32
+ options.registry = 'https://registry.npmjs.com';
33
+
34
+ login(options.registry);
35
+
36
+ cmdLine = 'cd ' + options.projectDir + '&& node ./scripts/deploy-prepare.js';
37
+ console.info('Run [' + cmdLine + ']... ');
38
+ execSync(cmdLine, { stdio: 'inherit', stderr: 'inherit' });
39
+
40
+ cmdLine = 'cd ' + options.projectDir + '&& npm publish --tag latest --access=public --registry ' + options.registry;
41
+ console.info('Run [' + cmdLine + ']... ');
42
+ execSync(cmdLine, { stdio: 'inherit', stderr: 'inherit' });
43
+ }
44
+ main();
@@ -1,21 +1,21 @@
1
- #!/usr/bin/env node
2
-
3
- const { execSync } = require('child_process');
4
-
5
- function main() {
6
- // 安装dom和widget
7
- let cmdLine = "git diff --cached";
8
- console.info("\nRunning [" + cmdLine + "]... ");
9
- let ret = execSync(cmdLine, { stderr: "inherit" });
10
- if(ret) {
11
- console.error("\nError: There have same uncommitted files in cache, please cleanup first.");
12
- process.exit(1);
13
- }
14
-
15
-
16
- // 安装dom和widget
17
- cmdLine = "git commit --allow-empty -m \"强制版本+1\"";
18
- console.info("\nRunning [" + cmdLine + "]... ");
19
- execSync(cmdLine, { stdio: "inherit", stderr: "inherit" });
20
- }
21
- main();
1
+ #!/usr/bin/env node
2
+
3
+ const { execSync } = require('child_process');
4
+
5
+ function main() {
6
+ // 安装dom和widget
7
+ let cmdLine = "git diff --cached";
8
+ console.info("\nRunning [" + cmdLine + "]... ");
9
+ let ret = execSync(cmdLine, { stderr: "inherit" });
10
+ if(ret) {
11
+ console.error("\nError: There have same uncommitted files in cache, please cleanup first.");
12
+ process.exit(1);
13
+ }
14
+
15
+
16
+ // 安装dom和widget
17
+ cmdLine = "git commit --allow-empty -m \"强制版本+1\"";
18
+ console.info("\nRunning [" + cmdLine + "]... ");
19
+ execSync(cmdLine, { stdio: "inherit", stderr: "inherit" });
20
+ }
21
+ main();