@liuli-util/cli 3.13.1 → 3.17.0

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