#dev #test #cli #start

构建 devstart

让构建更简单:无需思考即可运行开发任务

1个不稳定版本

0.7.0 2023年5月20日

#406 in 构建工具

Apache-2.0

40KB
971


Devstart

Devstart:无需思考即可运行开发任务

如何使用下载贡献许可

下载

适用于macOS

brew tap jondot/tap && brew install devstart

否则,从发布版中获取一个版本,并运行 bp --help

如何使用

ds 将从

  • Cargo(预定义)
  • node(package.json)
  • make(Makefile)
  • 欢迎提交PR以添加您喜欢的任务

列出来自所有包管理器的任务(目前显示Cargo),分配为常用任务(构建、测试、清理等)

$ ds -l
╭────┬───────────┬─────────────────┬─────────╮
    │ task      │ exec            │ details │
├────┼───────────┼─────────────────┼─────────┤
 🦀 │ build (b)  cargo build     │         │
 🦀 │ clean (c)  cargo clean     │         │
 🦀 │ lint (l)   cargo clippy    │         │
 🟢 │ run (r)    cargo run -p ds │         │
 🚦 │ test (t)   cargo xtask ci  │         │
╰────┴───────────┴─────────────────┴─────────╯

您可以使用 -a 来显示 所有 任务,包括那些非常用任务

$ ds -l -a
< list of all discovered tasks >

使用 别名(例如,b 表示 build)运行任务

$ ds b

或使用任务名称

$ ds build

使用自定义构建标志

$ $(ds build -s) --release

-s 标志将命令内联为简单字符串。

或直接使用 ds 来选择要运行的任务

$ ds
? Select task ›
 🦀  [build] cargo build
  🦀  [clean] cargo clean
  🦀  [lint] cargo clippy
  🟢  [run] cargo run -p ds
  🚦  [test] cargo xtask ci

您可以覆盖并配置您自己的本地任务,这些任务将 覆盖 发现的任务。

$ ds --init
wrote .devstart.yaml

编辑 .devstart.yaml

tasks:
  run: 
    exec: cargo run -p ds
    emoji: 🟢

  test: 
    exec: cargo xtask ci
    emoji: 🚦

使用 sh: true 作为shell脚本调用。这可以作为单行命令很有用。以下示例中,我们运行Jupyter lab实例,所有环境激活的繁琐步骤都由它处理

tasks:
  start: 
    exec: source ~/.zshrc && mamba activate myenv && jupyter-lab
    emoji: 🟢
    sh: true

因为只有一个任务,没有指定任务的 ds 将运行它。

请注意,默认的shell是$SHELL,如果您想为脚本启用登录/终端功能,则需要源您的相应rc文件(或使用shell提供的特定解决方案,例如.zshenv用于zsh)。

快捷键

您还可以添加自定义快捷键:此项目的链接或常用文件夹

tasks:
  run: 
    exec: cargo run -p ds
    emoji: 🟢

  test: 
    exec: cargo xtask ci
    emoji: 🚦

shortcuts: 
  links:
    l/actions: 
      url: https://github.com/jondot/devstart/actions
      title: Github Actions
    l/repo: 
      url: https://github.com/jondot/devstart/
      title: Repo
    l/issues: 
      url: https://github.com/jondot/devstart/issues
      title: Issues

  folders:
    f/dist: 
      path: dist
      title: Dist folder

使用方法

  • link : ds l/actions
  • folder:使用shell扩展在当前会话中自动cd$(ds f/dist)

快捷键不能交互式选择,但会出现在列表中(ds -l

贡献

我们接受PR。请随意提交PR

所有贡献者 - 你们让这一切成为可能,谢谢!

许可协议

版权(c)2023 @jondot。有关详细信息,请参阅LICENSE

依赖关系

~10–21MB
~308K SLoC