0.2.29 • Published 12 months ago

supos v0.2.29

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

supos

supos git push pull 的形式管理平台以下概念 1. 服务脚本 2. 可编程组件

特点

  • 多平台开发时,supos 管理多个平台的服务脚本和可编程组件
  • 结合 代码开发工具 + Git 可协同管理服务脚本和可编程组件
  • 可编程组件改动看效果时,无需频繁提交代码。只需 supos ext watch 帮助自动提交可编程组件
  • 表单转 DDL ,辅助掌控全局

Install

$ npm install -g supos

Use Example

$ supos debug
? 选择【A表单】的服务进行调试? yes
***【A表单】下所有服务***
? 请选择服务!
> 服务名称:serviceA(Integer int,Long long,Float float,Double double,Boolean bool,String str)
 ------------------------------
? int(INTEGER)> 1
? long(LONG)> 1
? float(FLOAT)> 1
? double(DOUBLE)*> 1
? bool(BOOLEAN)> true
? str(STRING)*> 123
 ------------------------------
# 以下为服务执行的输出日志和返回结果

#略

获取帮助

您可以使用以下命令获取帮助信息:

  • 查看全局帮助信息:

    supos --help
  • 查看特定命令的帮助信息(例如 remote 命令):

    supos remote --help
  • 查看子命令的帮助信息(例如 remote add 子命令):

    supos remote add --help

每个命令的帮助信息都包含了详细的使用说明和示例。

Usage

1. init config

$ supos init
? 重置将初始化所有配置文件,是否重置[N]! yes
 SUCCESS  已成功初始化....    

2. add your remote address

$ supos remote add <code> -m <url> -u <username> -p <password>
$ supos remote add pdd -m http://127.0.0.1:8080 -u admin -p pwd123
pdd,admin 请记住您的平台编号和当前账户!

3. config your default remote

$ supos remote login pdd
 SUCCESS  已切换成平台pdd,地址为:http://127.0.0.1:8080

4. login your remote

$ supos remote login
 SUCCESS  用户登录成功!
#or
$ supos login
 SUCCESS  用户登录成功!

5. pull remote all template and service to loacl env

$ supos template init
将重新拉取所有表单及所有表单服务,成功后需重新配置默认工作的表单!
 SUCCESS  车间管理-workshopManage server total:1
 ---------------- 查询车间数据-queryAll-(String factoryId)==MD5: 66d11897e372ad2b01733ef1cebd4a84
rsnyc 车间管理-workshopManage use time 3425

6. Select the default template to work under it

$ supos template
#1. 先有个可供选择的表单列表,可进行搜索。
? 请选择工作区的表单模板!
> A表单
  B表单
  C表单
(Use arrow keys to reveal more choices)
A表单
#2.选择后会输出
SUCCESS  您选择了【A表单】
#3. 最后完整的日志
? 请选择工作区的表单模板! A表单
 SUCCESS  您选择了【A表单】

7. 调试模板下的服务

$ supos debug

8.

初始化平台无关级别的配置

supos ext init

拉取所有可编程组件

9. For more features, please use Supos -h

$ supos -h
#略 更多详细用法请参考各命令的帮助信息,例如 `supos service --help`。

TODO

  • 服务

    • 物模板服务支持

    • 表单模板

      • 考虑使用 Sql 同步 表单模板,引导形成 一个模式
    • 可添加服务

      • 可单独添加服务参数
    • 可删除服务
    • 可单独删除参数,通过修改服务删除 supos service update -i
    • debug 可选记录历史传参
      • 在该命令下添加option 记录是否记录历史。 -x 考虑在debug时是同样加option去选择历史参,还是提前确认什么模式去选择历史参。
    • 按职责拆分代码
    • 切换平台后将之前登录的平台主动退出去

    • 提供平台级迁移功能

      • APP级
      • 表单级
        • 属性
      • 服务级
  • 可编程

    • push 代码时,拉取 libs 查看更新时间,没更新就不进行上传,加速上传
  • 其他

    • 如何与 git 相结合
  • 考虑 process.cwd() 定位,引起用户在别的目录下执行,会引起问题
  • 功能逐渐变多 objectHelp 代码需职责拆分

优化建议

  • 使用 inquirer 库来实现交互式命令行界面,以提高用户体验。
  • 使用 axios 库来处理 HTTP 请求,以提高性能和可靠性。
  • 使用 chalk 库来添加颜色和样式,以提高可读性和用户体验。
  • 使用 ora 库来显示加载动画,以提高用户体验。
  • 使用 commander 库来处理命令行参数,以提高用户体验。
  • 使用 fs 库来处理文件系统,以提高用户体验。
  • 使用 path 库来处理文件路径,以提高用户体验。
  • 使用 os 库来处理操作系统,以提高用户体验。
  • 使用 crypto 库来处理加密,以提高用户体验。
  • 根据您提供的代码库信息,我对extensions类的优化有以下建议:
    • 代码结构优化:
      • 将lib/extensions.js文件拆分成多个smaller的模块,每个模块负责特定的功能。例如:
      • initExtensions.js: 处理初始化相关的函数
      • pullExtensions.js: 处理拉取组件相关的函数
      • pushExtensions.js: 处理推送组件相关的函数
      • buildExtensions.js: 处理构建依赖相关的函数
  • 这样可以提高代码的可读性和可维护性。
    • 错误处理优化:
      • 在lib/extensions.js中,使用更具体的错误类型,而不是简单地抛出字符串。创建自定义错误类,如ExtensionError,以便更好地处理和区分不同类型的错误。
  • 配置管理优化:
    • 将硬编码的配置项(如bulitInDependencies, ignoreFileArr等)移到单独的配置文件中,便于集中管理和修改。
  • 异步操作优化:
    • 考虑使用Promise.all()来并行处理一些独立的异步操作,提高性能。例如,在initAppExtensions函数中,可以并行处理libs和controls的拉取。
  • 日志记录优化:
    • 使用更结构化的日志记录方式,考虑引入专门的日志库(如winston),以便更好地管理和分析日志。
  • 测试覆盖率提高:
    • 在tests/supos.test.js中添加更多针对extensions功能的单元测试和集成测试,提高代码的可靠性。
  • 依赖注入考虑:
    • 考虑使用依赖注入的方式来管理外部依赖(如DB, ConfigDB等),这样可以提高代码的可测试性和灵活性。
  • 代码复用优化:
    • 提取一些常用的操作为工具函数,放在单独的utils.js文件中,以减少代码重复。
  • 类型检查引入:
    • 考虑使用TypeScript或Flow来引入静态类型检查,可以提前发现潜在的类型错误。
  • 文档完善:
    • 为主要的函数和模块添加详细的JSDoc注释,便于其他开发者理解和使用代码。
  • 性能优化:
    • 使用性能分析工具来识别可能的性能瓶颈,特别是在文件操作和网络请求方面。
  • 安全性提升:

    • 检查所有的文件操作和网络请求,确保它们都经过适当的安全处理,防止潜在的安全漏洞。
  • refactor 内容对比时 前后hash 本地DBhash 对比平台内容 hash,一致时,将本地新内容推送至平台

Notice

  • 添加 5x 版本平台需自己找到加密后的密码进行添加

LICENSE

MIT

0.2.27

12 months ago

0.2.26

12 months ago

0.2.25

12 months ago

0.2.24

12 months ago

0.2.23

1 year ago

0.2.22

1 year ago

0.2.21

1 year ago

0.2.20

1 year ago

0.2.19

1 year ago

0.2.18

1 year ago

0.2.17

1 year ago

0.2.16

1 year ago

0.2.15

1 year ago

0.2.14

1 year ago

0.2.29

12 months ago

0.2.28

12 months ago

0.2.12

1 year ago

0.2.10

1 year ago

0.2.9

1 year ago

0.2.8

1 year ago

0.2.7

1 year ago

0.2.6

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.0

1 year ago

0.1.9

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago