Write CI/CD pipelines using TypeScript

Related tags

Command-line katoa
Overview

Katoa

Katoa is a community fork of Cidada, a tool created by Fig which was sunset in late 2023 following acquisition by AWS. This fork and the underlying software are both very young, bugs and transitional issues are to be expected.

Katoa: Write CI/CD pipelines in TypeScript, test them locally

Quickstart

Test a pipeline on your local device in < 2 minutes

# Install Katoa
npm install -g @katoahq/katoa

# Set up Katoa in a project
cd path/to/my/project
katoa init

# Test your pipeline locally
katoa run <my-pipeline>

Example

import { Job, Pipeline } from "https://deno.land/x/katoa/mod.ts";

const job = new Job({
  name: "My First Job",
  image: "ubuntu:22.04",
  steps: [
    {
      name: "Run bash",
      run: "echo hello from bash!",
    },
    {
      name: "Run deno/typescript",
      run: () => {
        console.log("Hello from deno typescript");
      },
    },
  ],
});

export default new Pipeline([job]);

Terminology

  • Pipeline: Pipelines are TypeScript files like build.ts, deploy.ts, or run_tests.ts. They are checked into your repository and run when triggered by an event in your repository, or when triggered manually, or at a defined schedule. A pipeline takes one parameter: an array of jobs.
  • Jobs: A job is a lightweight container that executes code. It takes one parameter: an array of steps.
  • Steps: A step is either a shell script or Deno/TypeScript script that executes in its parent job’s container

3rd party modules (PROBABLY NOT WORKING)

Check out katoahq/modules

Support

👉 Docs: docs

👉 Typescript API: deno.land/x/katoa

👉 Discord: Discord

Comments
  • chore(deps): bump clap from 4.3.21 to 4.4.5

    chore(deps): bump clap from 4.3.21 to 4.4.5

    Bumps clap from 4.3.21 to 4.4.5.

    Release notes

    Sourced from clap's releases.

    v4.4.5

    [4.4.5] - 2023-09-25

    Fixes

    • (parser) When inferring subcommand name or long_flag, allow ambiguous-looking matches that unambiguously map back to the same command
    • (parser) When inferring subcommand long_flag, don't panic
    • (assert) Clarify what action is causing a positional that doesn't set values which is especially useful for derive users

    v4.4.4

    [4.4.4] - 2023-09-18

    Internal

    • Update terminal_size to 0.3

    v4.4.3

    [4.4.3] - 2023-09-12

    Documentation

    • (derive) Clarify use of attributes within the tutorial
    • Split sections in the builder and derive tutorials into separate modules

    v4.4.2

    [4.4.2] - 2023-08-31

    Performance

    • Improve build times by removing once_cell dependency

    v4.4.1

    [4.4.1] - 2023-08-28

    Features

    • Stabilize Command::styles

    v4.3.24

    [4.3.24] - 2023-08-23

    Fixes

    • Ensure column padding is preserved in --help with custom templates

    v4.3.23

    [4.3.23] - 2023-08-18

    Fixes

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [4.4.5] - 2023-09-25

    Fixes

    • (parser) When inferring subcommand name or long_flag, allow ambiguous-looking matches that unambiguously map back to the same command
    • (parser) When inferring subcommand long_flag, don't panic
    • (assert) Clarify what action is causing a positional that doesn't set values which is especially useful for derive users

    [4.4.4] - 2023-09-18

    Internal

    • Update terminal_size to 0.3

    [4.4.3] - 2023-09-12

    Documentation

    • (derive) Clarify use of attributes within the tutorial
    • Split sections in the builder and derive tutorials into separate modules

    [4.4.2] - 2023-08-31

    Performance

    • Improve build times by removing once_cell dependency

    [4.4.1] - 2023-08-28

    Features

    • Stabilize Command::styles

    [4.4.0] - 2023-08-24

    Compatibility

    • Update MSRV to 1.70.0

    [4.3.24] - 2023-08-23

    Fixes

    • Ensure column padding is preserved in --help with custom templates

    [4.3.23] - 2023-08-18

    Fixes

    • Fixed UnknownArgumentValueParser to not error on flag's absence

    ... (truncated)

    Commits
    • c298f6a chore: Release
    • 463d6c5 docs: Update changelog
    • 3ac4404 Merge pull request #5025 from SUPERCILEX/resolve-alias-conflicts
    • a76789e fix: Make long subcommand flag inference consistent
    • c2b8ec3 fix: Resolve conflicting name inference if from aliases
    • e5c6993 test: Long flags inference
    • 0d9b14f Merge pull request #5136 from epage/panic
    • 221177b fix(assert): Call out the action in positional assert
    • cb2d2bc chore: Update from '_rust/main'
    • 4173c8f chore(ci): Don't set patch for MSRV
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • chore(deps): bump url from 2.4.0 to 2.4.1

    chore(deps): bump url from 2.4.0 to 2.4.1

    Bumps url from 2.4.0 to 2.4.1.

    Commits
    • a08aa2c Fix panic in set_path for file URLs (#865)
    • edabc79 Fix no_std for idna (#843)
    • 1158370 Update WPT data and expectations (#859)
    • beb2cde Stabilize debugger_visualizer feature (#855)
    • 86730f1 Add --generate-link-to-definition option when building on docs.rs (#858)
    • e4dbb43 Implement std::error::Error for InvalidBase64 (#856)
    • b33514a Rewrite WPT runner (#857)
    • b228574 Enable the GitHub merge queue (#851)
    • 3a474c3 Merge pull request #698 from lucacasonato/impl_error_for_data_url
    • 1f7dbe0 Merge pull request #848 from lucacasonato/fix_trailing_space_pathname_setter
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • chore(deps): bump sentry from 0.31.5 to 0.31.7

    chore(deps): bump sentry from 0.31.5 to 0.31.7

    Bumps sentry from 0.31.5 to 0.31.7.

    Release notes

    Sourced from sentry's releases.

    0.31.7

    Various fixes & improvements

    • The minimum supported Rust version was bumped to 1.68.0 due to requirements from dependencies. (#612)

    0.31.6

    Various fixes & improvements

    Changelog

    Sourced from sentry's changelog.

    0.31.7

    Various fixes & improvements

    • The minimum supported Rust version was bumped to 1.68.0 due to requirements from dependencies. (#612)

    0.31.6

    Various fixes & improvements

    Commits
    • f21aab7 release: 0.31.7
    • 048b838 Use rand instead of getrandom for IDs (#614)
    • 64949dc Micro-optimize Scope access (#615)
    • 10c5640 docs: Enable building sentry-tower and sentry-tracing with all features on do...
    • e4cfc3a fix: Formatting, Cargo.lock, MSRV bump (#612)
    • 88e780c Merge branch 'release/0.31.6'
    • 7d74be1 release: 0.31.6
    • 463093b Apply clippy fixes and cherry-pick PRs (#610)
    • 6ef6d97 ref: Apply user field from scope to transaction event (#596)
    • 3e687f1 Remove profiling support (#595)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • chore(deps): bump indicatif from 0.17.6 to 0.17.7

    chore(deps): bump indicatif from 0.17.6 to 0.17.7

    Bumps indicatif from 0.17.6 to 0.17.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • chore(deps): bump docker/login-action from 2 to 3

    chore(deps): bump docker/login-action from 2 to 3

    Bumps docker/login-action from 2 to 3.

    Release notes

    Sourced from docker/login-action's releases.

    v3.0.0

    Full Changelog: https://github.com/docker/login-action/compare/v2.2.0...v3.0.0

    v2.2.0

    Full Changelog: https://github.com/docker/login-action/compare/v2.1.0...v2.2.0

    v2.1.0

    • Ensure AWS temp credentials are redacted in workflow logs by @​crazy-max (#275)
    • Bump @​actions/core from 1.6.0 to 1.10.0 (#252 #292)
    • Bump @​aws-sdk/client-ecr from 3.53.0 to 3.186.0 (#298)
    • Bump @​aws-sdk/client-ecr-public from 3.53.0 to 3.186.0 (#299)

    Full Changelog: https://github.com/docker/login-action/compare/v2.0.0...v2.1.0

    Commits
    • 343f7c4 Merge pull request #599 from docker/dependabot/npm_and_yarn/aws-sdk-dependenc...
    • aad0f97 chore: update generated content
    • 2e0cd39 build(deps): bump the aws-sdk-dependencies group with 2 updates
    • 203bc9c Merge pull request #588 from docker/dependabot/npm_and_yarn/proxy-agent-depen...
    • 2199648 chore: update generated content
    • b489376 build(deps): bump the proxy-agent-dependencies group with 1 update
    • 7c309e7 Merge pull request #598 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
    • 0ccf222 chore: update generated content
    • 56d703e Merge pull request #597 from docker/dependabot/github_actions/aws-actions/con...
    • 24d3b35 build(deps): bump @​actions/core from 1.10.0 to 1.10.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • chore(deps): bump shlex from 1.1.0 to 1.2.0

    chore(deps): bump shlex from 1.1.0 to 1.2.0

    Bumps shlex from 1.1.0 to 1.2.0.

    Changelog

    Sourced from shlex's changelog.

    1.2.0

    • Adds bytes module to support operating directly on byte strings.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • chore(deps): bump clap_complete from 4.4.2 to 4.4.3

    chore(deps): bump clap_complete from 4.4.2 to 4.4.3

    Bumps clap_complete from 4.4.2 to 4.4.3.

    Release notes

    Sourced from clap_complete's releases.

    v4.4.3

    [4.4.3] - 2023-09-12

    Documentation

    • (derive) Clarify use of attributes within the tutorial
    • Split sections in the builder and derive tutorials into separate modules
    Changelog

    Sourced from clap_complete's changelog.

    [4.4.3] - 2023-09-12

    Documentation

    • (derive) Clarify use of attributes within the tutorial
    • Split sections in the builder and derive tutorials into separate modules
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • chore(deps): bump regex from 1.9.5 to 1.9.6

    chore(deps): bump regex from 1.9.5 to 1.9.6

    Bumps regex from 1.9.5 to 1.9.6.

    Changelog

    Sourced from regex's changelog.

    1.9.6 (2023-09-30)

    This is a patch release that fixes a panic that can occur when the default regex size limit is increased to a large number.

    • BUG aa4e4c71: Fix a bug where computing the maximum haystack length for the bounded backtracker could result underflow and thus provoke a panic later in a search due to a broken invariant.
    Commits
    • 11b4443 1.9.6
    • 3dda425 deps: bump regex-automata to 0.3.9
    • 03f00bd regex-automata-0.3.9
    • e467408 changelog: 1.9.6
    • aa4e4c7 automata: fix unintended panic in max_haystack_len
    • 27a2538 automata: add some #[inline] annotations
    • 061ee81 readme: visually emphasize performance criteria difference
    • 8275c1b doc: fix a few typos
    • cdc0dbd readme: add section about performance and benchmarks
    • 4aaf389 ci: pin to memchr 2.6.2 for MSRV CI job
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Fix AUR package (+other distros?)

    Fix AUR package (+other distros?)

    This repository has the stuff in it for an AUR package, but it's not published. Could potentially add packaging for other distros as well (debian? fedora? nix?)

    help wanted 
    opened by endigma 0
  • [Feature Request] Generate Workflow/Pipeline file(s) for CI/CD providers

    [Feature Request] Generate Workflow/Pipeline file(s) for CI/CD providers

    Katoa offers the ability to right CI/CD pipelines and scrips once and run them in multiple environments such as locally Remote Servers, and CI/CD providers such as GitHub Actions, Gitlab CI, Jenkins, and more.

    A nice feature would be a feature that would help maintain portability, would be the Katoa CLI have a command to automatically generate the required files to run your Katoa pipelines and Jobs in common CI/CD environments.

    Example Usage

    katoa generate gh-actions # Generate GitHub Actions workflows for each Kotoa pipeline found in the repo
    
    kotoa generate gitlab-ci <job> # Generate a gitlab ci pipeline for a single job
    

    Ideally an alias like g or gen would be supported.

    Possible Enhancements

    A nice possibility would have an argument like --secrets-provider which could accept a secrets provider such as gh-actions (the default for GitHub actions workflows), 1Password, vault (by hashicorp) or others. This would then include the relevant configurational required in the workflows to load the secrets and make them available.

    Another enhancement would be the ability to configure an environment for a job like

    katoa gen gh-actions deploy --environment staging
    
    enhancement 
    opened by NatoNathan 4
  • chore(deps): bump clap from 4.4.5 to 4.4.6

    chore(deps): bump clap from 4.4.5 to 4.4.6

    Bumps clap from 4.4.5 to 4.4.6.

    Release notes

    Sourced from clap's releases.

    v4.4.6

    [4.4.6] - 2023-09-28

    Internal

    • Upgrade anstream
    Changelog

    Sourced from clap's changelog.

    [4.4.6] - 2023-09-28

    Internal

    • Upgrade anstream
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • chore(deps): bump dialoguer from 0.10.4 to 0.11.0

    chore(deps): bump dialoguer from 0.10.4 to 0.11.0

    Bumps dialoguer from 0.10.4 to 0.11.0.

    Changelog

    Sourced from dialoguer's changelog.

    0.11.0

    Enhancements

    • Added dialouger::Result and dialouger::Error
    • Added a BasicHistory implementation for History
    • Added vim mode for FuzzySelect
    • All prompts implement Clone
    • Add handling of Delete key for FuzzySelect

    Bug fixes

    • Resolve some issues on Windows where pressing shift keys sometimes aborted dialogs
    • Resolve MultiSelect checked and unchecked variants looking the same on Windows
    • Input values that are invalid are now also stored in History
    • Resolve some issues with cursor positioning in Input when using utf-8 characters
    • Correct page is shown when default selected option is not on the first page for Select
    • Fix panic in FuzzySelect when using non-ASCII characters

    Breaking

    • Updated MSRV to 1.63.0 due to multiple dependencies on different platforms: rustix, tempfile,linux-raw-sys
    • Removed deprecated Confirm::with_text
    • Removed deprecated ColorfulTheme::inline_selections
    • Prompt builder functions now take mut self instead of &mut self
    • Prompt builder functions now return Self instead of &mut Self
    • Prompt interaction functions now take self instead of &self
    • Prompt interaction functions and other operations now return dialouger::Result instead of std::io::Result
    • Rename Validator to InputValidator
    • The trait method Theme::format_fuzzy_select_prompt() now takes a byte position instead of a cursor position in order to support UTF-8.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • chore(deps): bump buildkit-rs from `0ac5ee8` to `3170be7`

    chore(deps): bump buildkit-rs from `0ac5ee8` to `3170be7`

    Bumps buildkit-rs from 0ac5ee8 to 3170be7.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
Releases(v0.1.51)
Owner
Katoa
Katoa is a maintained community fork of Cicada
Katoa
Framework for large distributed pipelines

Rain Rain is an open-source distributed computational framework for processing of large-scale task-based pipelines. Rain aims to lower the entry barri

Substantic 705 Dec 27, 2022
A fast and robust MLOps tool for managing data and pipelines

xvc A Fast and Robust MLOps Swiss-Army Knife in Rust ⌛ When to use xvc? Machine Learning Engineers: When you manage large quantities of unstructured d

Emre Sahin 6 Dec 15, 2022
Js-macros - Quickly prototype Rust procedural macros using JavaScript or TypeScript!

js-macros Quickly prototype Rust procedural macros using JavaScript or TypeScript! Have you ever thought "this would be a great use case for a procedu

null 15 Jun 17, 2022
Tools - The Rome Toolchain. A linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS.

Rome is currently being rewritten in Rust. Read more about it in our latest blog post. The documentation below is out of date and available for poster

Rome 22k Jan 3, 2023
CLI tool to quickly create React + Typescript + Tailwind projects

QUICK INIT CLI Tool to quickly create React projects with Tailwind automatically configured for use. Typescript is selected as default. If JS is to be

Oscar 5 Nov 3, 2022
A Typescript interpreter in Rust.

typescript This is a Rust native implementation of a Typescript Parser and a JIT execution engine. This project comes in two crates: [typescript-ast]:

Arne Simon 4 Oct 31, 2022
A Faster(âš¡) formatter, linter, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS Lapce Plugin

Lapce Plugin for Rome Lapce-rome is a Lapce plugin for rome, The Rome is faster âš¡ , A formatter, linter, compiler, bundler, and more for JavaScript, T

xiaoxin 7 Dec 16, 2022
Resolve JavaScript/TypeScript module with Rust

ES Resolve JavaScript/TypeScript module resolution in Rust Installation cargo add es_resolve Get Started use std::path::{Path, PathBuf}; use es_resolv

wang chenyu 2 Oct 12, 2022
compile TypeScript or JavaScript to binaries

the powr project Development is paused until 2023. ?? powr aims to be a javascript/typescript engine to power serverless functions over the web. the j

powr.js 18 Dec 29, 2022
JavaScript/TypeScript runtime Deno was meant to be.

Project Bueno (temporary name) Bueno is a web-standards focused JS/TS runtime with as much tooling built-in as possible. It is meant to be both a lear

Bueno 22 Sep 3, 2023
colorStyle is a library of styles for command-line text write in Rust.

Colorstyle colorStyle is a library of styles for command-line text. Inspired by flylog/colorstyle (golang) Example let text = colorstyle::green("gre

Code Translation 6 Nov 12, 2022
Write a simple CLI script, that when given a 64-byte encoded string

Write a simple CLI script, that when given a 64-byte encoded string, it finds a suitable 4-byte prefix so that, a SHA256 hash of the prefix combined with the original string of bytes, has two last bytes as 0xca, 0xfe. Script should expect the original content of the string to be passed in hexadecimal format and should return two lines, first being the SHA256 string found and second 4-byte prefix used (in hexadecimal format).

Andy Bell 0 Feb 4, 2022
Library to write x64 Assembly code from Rust, more properly. Designed for the nasm assembler

x64asm Library to write x64 Assembly code from Rust, more properly. Designed for the nasm assembler How to use let mut f = Formatter::new(false); // f

Anтo 7 Dec 30, 2022
A Rust program/library to write a Hello World message to the standard output.

hello-world Description hello-world is a Rust program and library that prints the line Hello, world! to the console. Why was this created? This progra

null 0 May 11, 2022
Write Cross-platform application with React-like decralative UI framework and scalable ECS architecture all in Rust.

bevy_dioxus Dioxus Plugin for Bevy Write Cross-platform application with React-like decralative UI framework and scalable ECS architecture all in Rust

Junichi Sugiura 269 Dec 29, 2022
Simple macros to write colored and formatted text to a terminal. Based on `termcolor`, thus also cross-platform.

Bunt: simple macro-based terminal colors and styles bunt offers macros to easily print colored and formatted text to a terminal. It is just a convenie

Lukas Kalbertodt 202 Dec 22, 2022
A Write Ahead Log (WAL) implementation in Rust

Okay WAL A write-ahead log (WAL) implementation for Rust. There's The Great Wall, and then there's this: an okay WAL. This crate exposes a WAL that su

Khonsu Labs 5 Oct 28, 2022
Sets of libraries and tools to write applications and libraries mixing OCaml and Rust

Sets of libraries and tools to write applications and libraries mixing OCaml and Rust. These libraries will help keeping your types and data structures synchronized, and enable seamless exchange between OCaml and Rust

Meta 36 Jan 28, 2023
That program use on platform windows. And if you write any text on uncorrect keyboard layout, that program for that.

?? This program is designed to translate text into the correct layout when typing is incorrect. ?? Example ghbdtn -> привет Just (by default) pressing

Gest Se 5 Jan 26, 2023