@liuli-util/cli 3.15.0 → 3.17.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/CHANGELOG.md +100 -89
  2. package/LICENSE +21 -0
  3. package/dist/bin.js +96 -77
  4. package/dist/bin.js.map +3 -3
  5. package/dist/commands/deploy/DeployService.d.ts +52 -0
  6. package/dist/commands/deploy/DeployService.d.ts.map +1 -0
  7. package/dist/commands/deploy/deploy.d.ts +3 -0
  8. package/dist/commands/deploy/deploy.d.ts.map +1 -0
  9. package/dist/commands/deploy/index.d.ts +3 -0
  10. package/dist/commands/deploy/index.d.ts.map +1 -0
  11. package/dist/commands/deploy/util/FileLock.d.ts +14 -0
  12. package/dist/commands/deploy/util/FileLock.d.ts.map +1 -0
  13. package/dist/commands/deploy/util/PromiseUtil.d.ts +14 -0
  14. package/dist/commands/deploy/util/PromiseUtil.d.ts.map +1 -0
  15. package/dist/commands/deploy/util/createArchive.d.ts +10 -0
  16. package/dist/commands/deploy/util/createArchive.d.ts.map +1 -0
  17. package/dist/commands/deploy/util/execPromise.d.ts +4 -0
  18. package/dist/commands/deploy/util/execPromise.d.ts.map +1 -0
  19. package/dist/commands/deploy/util/wait.d.ts +9 -0
  20. package/dist/commands/deploy/util/wait.d.ts.map +1 -0
  21. package/dist/commands/esbuild/ESBuildProgram.d.ts.map +1 -1
  22. package/dist/index.esm.js +1 -1
  23. package/dist/index.esm.js.map +2 -2
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +2 -2
  26. package/dist/utils/nodeCacheDir.d.ts +2 -0
  27. package/dist/utils/nodeCacheDir.d.ts.map +1 -0
  28. package/package.json +73 -66
  29. package/src/bin.ts +3 -2
  30. package/src/commands/deploy/DeployService.ts +181 -0
  31. package/src/commands/deploy/__tests__/DeployService.test.ts +75 -0
  32. package/src/commands/deploy/__tests__/FileLock.test.ts +27 -0
  33. package/src/commands/deploy/__tests__/conf.test.ts +29 -0
  34. package/src/commands/deploy/__tests__/simpleGit.test.ts +54 -0
  35. package/src/commands/deploy/__tests__/util/deployGhPageWorker.ts +16 -0
  36. package/src/commands/deploy/deploy.ts +48 -0
  37. package/src/commands/deploy/index.ts +8 -0
  38. package/src/commands/deploy/util/FileLock.ts +31 -0
  39. package/src/commands/deploy/util/PromiseUtil.ts +34 -0
  40. package/src/commands/deploy/util/createArchive.ts +30 -0
  41. package/src/commands/deploy/util/execPromise.ts +13 -0
  42. package/src/commands/deploy/util/wait.ts +23 -0
  43. package/src/commands/esbuild/ESBuildProgram.ts +1 -1
  44. package/src/utils/__tests__/nodeCacheDir.test.ts +6 -0
  45. package/src/utils/nodeCacheDir.ts +54 -0
package/CHANGELOG.md CHANGED
@@ -1,56 +1,67 @@
1
- # CHANGELOG
2
-
3
- ## 3.15.0
4
-
5
- <!--hash:5402013d664173283c30e818a63d427fa55edf73-->
6
-
7
- - feat: 同步命令支持同步 jest 依赖
8
- - chore: 更新模板,删除不需要的文档相关的命令
9
- - chore: 将所有的 liuli-cli 的依赖强制指向本地
10
- - fix: 修复 monorepo 中使用 cli 会复制 node_modules 的错误
11
-
12
- ## 3.14.0
13
-
14
- <!--hash:640b9c257c2276edfe262e2cbfd1c11bab6fb27b-->
15
-
16
- - feat: 构建 iife 时强制包含所有依赖
17
-
18
- ## 3.13.1
19
-
20
- <!--hash:0f666fdbeee514f614a61b5257c4aa9a6cfd3143-->
21
-
22
- - fix: 修复 generate 不能选择模板的问题
23
-
1
+ # CHANGELOG
2
+
3
+ ## 3.17.0
4
+
5
+ - feat: 不再处理并发发布的问题
6
+
7
+ ## 3.16.0
8
+
9
+ - feat: 不再处理并发部署 gh-pages 的问题
10
+ - feat: 实现一个根据配置文件决定是否需要等待的 gh-pages 部署(实测会有并发问题)
11
+ - feat: 实现部署项目到 gh-pages 远端
12
+ - feat: 实现发布到 sftp 远端
13
+
14
+ ## 3.15.0
15
+
16
+ <!--hash:5402013d664173283c30e818a63d427fa55edf73-->
17
+
18
+ - feat: 同步命令支持同步 jest 依赖
19
+ - chore: 更新模板,删除不需要的文档相关的命令
20
+ - chore: 将所有的 liuli-cli 的依赖强制指向本地
21
+ - fix: 修复 monorepo 中使用 cli 会复制 node_modules 的错误
22
+
23
+ ## 3.14.0
24
+
25
+ <!--hash:640b9c257c2276edfe262e2cbfd1c11bab6fb27b-->
26
+
27
+ - feat: 构建 iife 时强制包含所有依赖
28
+
29
+ ## 3.13.1
30
+
31
+ <!--hash:0f666fdbeee514f614a61b5257c4aa9a6cfd3143-->
32
+
33
+ - fix: 修复 generate 不能选择模板的问题
34
+
24
35
  ## 3.13.0
25
-
26
- <!--hash:615c6f1f69083a4cf7b0760ee6a81c68c2cf6e85-->
27
-
36
+
37
+ <!--hash:615c6f1f69083a4cf7b0760ee6a81c68c2cf6e85-->
38
+
28
39
  - test: 修复一些单元测试的错误
29
40
  - feat: 构建 cli 时无论如何都会打包依赖
30
41
  - feat: 使用 pnpm + nx 替代 yarn
31
42
  - fix: 修复 nodejs cli 中 bin.js 没有添加顶部声明的错误
32
43
  - fix: 修复 cli 模板项目 bin 字段指向文件不存在的问题
33
-
44
+
34
45
  ## 3.12.0
35
-
36
- <!--hash:18b4c02da2ba2d55b6c26cd2b45dbf370855f721-->
37
-
46
+
47
+ <!--hash:18b4c02da2ba2d55b6c26cd2b45dbf370855f721-->
48
+
38
49
  - feat: 支持单独构建某种文件的功能
39
50
  - feat: 支持构建 iife 格式的 bundle 时自动设置 global
40
51
  - feat: 支持构建 iife 格式的 bundle
41
-
52
+
42
53
  ## 3.11.1
43
-
44
- <!--hash:ba04dd24f8ee1e4a83c06dbd289195587a221079-->
45
-
54
+
55
+ <!--hash:ba04dd24f8ee1e4a83c06dbd289195587a221079-->
56
+
46
57
  - fix: 修复 tsconfig.json 不是标准 json 无法直接解析的错误,修复路径不是绝对值的错误
47
58
  - docs: 修复交互式创建的 gif 演示地址 404 的错误
48
59
  - docs: 更新 build 命令监视模式的 gif 演示
49
-
60
+
50
61
  ## 3.11.0
51
-
52
- <!--hash:5036beb706902f3ec7e8122696f99cefa7c51f57-->
53
-
62
+
63
+ <!--hash:5036beb706902f3ec7e8122696f99cefa7c51f57-->
64
+
54
65
  - fix: 修复构建的包过大的问题(非压缩 10+M)
55
66
  - fix: 修复构建时任务数量不确定导致失败的错误
56
67
  - fix: 修复打包时提示 pnpapi 依赖缺失问题
@@ -60,17 +71,17 @@
60
71
  - feat: 将 node 内置包通过插件替换和排除
61
72
  - feat: 默认忽略 node 原生模块
62
73
  - perf: 使用 lodash-es 替换 lodash 减小最终打包 bin.js 的大小
63
-
74
+
64
75
  ## 3.10.1
65
-
66
- <!--hash:c0223e217f45ec5d1c39e14035a494ca49b8e868-->
67
-
76
+
77
+ <!--hash:c0223e217f45ec5d1c39e14035a494ca49b8e868-->
78
+
68
79
  - fix: 修复没有添加 esbulild 作为运行时依赖的错误
69
-
80
+
70
81
  ## 3.10.0
71
-
72
- <!--hash:13921896bfb584abdefb3b055f7c914e88cebe4d-->
73
-
82
+
83
+ <!--hash:13921896bfb584abdefb3b055f7c914e88cebe4d-->
84
+
74
85
  - chore: 重新 yarn 安装依赖引起的变更
75
86
  - chore: 删除 liuli-shell、liuli-build 的 setup 脚本,因为没有模块依赖于它们了
76
87
  - chore: 升级所有的依赖
@@ -81,40 +92,40 @@
81
92
  - feat: 将 liuli-cli 的插件作为子模块一起发布
82
93
  - docs: 更新网站标题
83
94
  - fix: 修复 @liuli-util/liuli-cli-plugin-sync 影响的模块
84
-
95
+
85
96
  ## 3.9.1
86
-
87
- <!--hash:8516e723871614844f91a47928510c88f152fae8-->
88
-
97
+
98
+ <!--hash:8516e723871614844f91a47928510c88f152fae8-->
99
+
89
100
  - fix: 修复 @liuli-util/liuli-cli-plugin-sync 影响的模块
90
-
101
+
91
102
  ## 3.9.0
92
-
93
- <!--hash:40983b8dc09a06111d642c8c99b16d2ff8319195-->
94
-
103
+
104
+ <!--hash:40983b8dc09a06111d642c8c99b16d2ff8319195-->
105
+
95
106
  - chore: 添加 publishConfig 配置,删除不需要的 \_gitignore 文件
96
107
  - feat: 为 liuli-cli 实现插件系统
97
-
108
+
98
109
  ## 3.8.4
99
-
100
- <!--hash:d805931cc642fd8002f7ca93a551510b986f5523-->
101
-
110
+
111
+ <!--hash:d805931cc642fd8002f7ca93a551510b986f5523-->
112
+
102
113
  - 修复发布后的内容不包含 .gitignore 的问题
103
-
114
+
104
115
  ## 3.8.3
105
-
116
+
106
117
  - 修复模板中的一些依赖缺失和脚本错误的问题
107
-
118
+
108
119
  ## 3.8.2
109
-
120
+
110
121
  - 修复发布后的内容不包含 .gitignore 的问题
111
-
122
+
112
123
  ## 3.8.1
113
-
124
+
114
125
  - 修复缺失 .gitignore 文件的问题
115
-
126
+
116
127
  ## 3.8.0
117
-
128
+
118
129
  - chore: 在项目本身使用 eslint 通用配置并同步
119
130
  - feat: 实现同步 eslint 配置,支持交互式创建模板项目
120
131
  - feat: 删除不需要的工具函数,删除 build config 命令
@@ -127,27 +138,27 @@
127
138
  - fix: 修复最终发布没有包含 .gitignore 的问题
128
139
  - feat: 生成的项目默认使用通用 .gitignore 配置
129
140
  - feat: 同步 yarn workspaces 和 lerna packages(以后升级 yarn2 有望干掉这个同步), 删除 monorepo-cli 模块
130
-
141
+
131
142
  ## 3.7.1
132
-
143
+
133
144
  - fix(@liuli-util/cli): 修复模板中的依赖没有更新的问题(后面应该使用自动化的方案)
134
-
145
+
135
146
  ## 3.7.0
136
-
147
+
137
148
  - feat(@liuli-util/prettier-standard-config): 更新 husky 的配置,使用 simple-git-hooks 替代 husky
138
149
  - feat(@liuli-util/prettier-standard-config): 统一 prettier 配置
139
-
150
+
140
151
  ## 3.6.0
141
-
152
+
142
153
  - chore(@liuli-util/cli): 更新 @types/rollup-plugin-auto-external,修复类型定义的错误
143
154
  - refactor(@liuli-util/cli): 标记 build config 和 defineConfig 将被废弃,使用 rm 替代 rimraf
144
155
  - chore(@liuli-util/cli): 为模板添加 CHANGELOG
145
156
  - feat(@liuli-util/cli): 更新模板项目,使用 @liuli-util/shell 替换 liuli-cli clean 命令
146
157
  - chore(@liuli-util/cli): 删除 tsconfig.json 中冗余的各种配置
147
158
  - fix(@liuli-util/cli): 删除不小心提交的 test 目录
148
-
159
+
149
160
  ## 3.5.0
150
-
161
+
151
162
  - feat(@types/rollup-plugin-auto-external): 在给 DefinitelyTyped 提的 PR 没有通过前的一个临时模块
152
163
  - chore(@liuli-util/cli): 使用 liuli-cli build config 提到 rollup,以使用 ts 配置文件
153
164
  - refactor(@liuli-util/cli): 将默认导出 utils/ 下的工具类
@@ -157,19 +168,19 @@
157
168
  - fix(@liuli-util/cli): 修复使用 ts-node 运行代码时仍然注册 ts-node 的错误
158
169
  - docs(root): 使用 ts-node 替代 rollup 编译配置文件的做法
159
170
  - docs(root): 更新 repository.url 为 github 上子模块的 url
160
-
171
+
161
172
  ## 3.4.3
162
-
173
+
163
174
  - feat(@liuli-util/cli): 修改名字 define => defineConfig,与 vite 保持一致
164
175
  - feat(@liuli-util/cli): define 辅助函数支持 RollupOptions | RollupOptions[]
165
-
176
+
166
177
  ## 3.4.2
167
-
178
+
168
179
  - feat(@liuli-util/cli): 添加 define 定义 rollup 配置的辅助函数
169
180
  - feat(@liuli-util/cli): 使用 shell rm 代替 liuli-cli clean
170
-
181
+
171
182
  ## 3.4.1
172
-
183
+
173
184
  - fix(@liuli-util/cli): 修复在监视模式下仍然使用 terser 插件的错误
174
185
  - feat(@liuli-util/cli): 实现基本的模板项目生成命令(支持 cli/lib)
175
186
  - refactor(root): 将 templates/ 目录移至 apps/liuli-cli 下便于直接复制模板项目
@@ -178,22 +189,22 @@
178
189
  - docs(@liuli-util/cli): 更新 README **打包库 => 打包**
179
190
  - feat(@liuli-util/cli): 删除根据配置打包的功能
180
191
  - feat(@liuli-util/cli): 生成 cli 的时候默认不生成类型定义
181
-
192
+
182
193
  ## 3.4.0
183
-
194
+
184
195
  - feat(@liuli-util/cli): 默认包含 rollup 插件 @rollup/plugin-json 和 rollup-plugin-node-externals
185
-
196
+
186
197
  ## 3.3.2
187
-
198
+
188
199
  - 删除 @liuli-util/async 依赖,避免麻烦的循环依赖问题
189
-
200
+
190
201
  ## 3.3.1
191
-
202
+
192
203
  - 修复依赖 rollup-plugin-add-shebang 放在 dev 的错误
193
-
204
+
194
205
  ## 3.3.0
195
-
206
+
196
207
  - 将代码移至新的仓库:https://github.com/rxliuli/liuli-tools
197
208
  - 实现 `liuli-cli build pkg/liuli-cli build cli` 两个子命令
198
209
  - 支持使用 rollup 的监视模式
199
- - 支持 `rollup.config.ts` 配置文件(但未在文档上公开)
210
+ - 支持 `rollup.config.ts` 配置文件(但未在文档上公开)
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 rxliuli
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.