Code Monkey home page Code Monkey logo

github-actions-workflow-ts's Introduction

profile for Emmanuel N K on Stack Exchange, a network of free, community-driven Q&A sites

๐Ÿป What I love

Cloud computing, System Design, DevOps, IaC, CI/CD, APIs and event-driven architecture.

๐Ÿ‘ท๐Ÿฟ Experienced in

  • AWS (ECS, EKS, Lambda, API Gateway, SQS, Kinesis, RDS, DynamoDB, Glue, DMS, AppSync, Opensearch)
  • Infrastructure As Code (AWS CDK, Terraform, Pulumi, Serverless, Cloudformation)
  • CI/CD Pipelines (Github Actions, AWS Codepipeline, CircleCI, Travis)
  • Observability/Monitoring (New Relic, Grafana, AWS Cloudwatch, ELK
  • Linux (Ubuntu, RHEL)
  • APIs (GraphQL, REST, RPC, Koa, Express)
  • Databases(MySQL, PostgreSQL, Redis, Memcache, Elasticsearch)
  • Google Cloud, Azure, AliCloud, DigitalOcean, Heroku

github-actions-workflow-ts's People

Contributors

dependabot[bot] avatar emmanuelnk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

github-actions-workflow-ts's Issues

Configurable line width of output YAML

It would be good to expose configuration options for the underlying YAML generator, in particular the line width parameter. By default js-yaml sets the line width to 80, which uses a folded style for yaml via >- character. This impedes readability for strings (e.g. both expressions and multilineString). It would be good to be able to configure line width folding, or even disable (e.g. by setting line width to -1).

Expected Behavior

Long strings are written as-is in a single/multi line, or folded at larger line width limit.

Actual Behavior

Long strings are folded at 80 characters.

Steps to Reproduce the Problem

  1. Use long string in e.g. an if expression or run multilineString.
  2. Generate workflow YAML

Specifications

  • Version: 0.2.0
  • Platform: Mac

Very nice tool by the way!

[Feature Request] zero-dependency library version

This looks awesome! I really like the API surface.

I think the current setup is great as a standalone tool, but not ideal for use in other packages.
For example in https://github.com/projen/projen we already have everything set up to generate YAML files from a JS object.
A zero-dependency library version of this package would make it easier to include in other tools.

Current Behavior

The package is a CLI and library all-in-one tool.

As far as I can tell all its dependencies are used for the CLI only:

    "fast-glob": "^3.2.11",
    "js-yaml": "^4.1.0",
    "ts-node": "^10.8.1",
    "yargs": "^17.4.0"

Expected Behavior

Publish a zero-dependency library version of this package that can be included in other projects.

Everything would work as before, but no files are created. Calling Workflow.asObject() will return the Workflow as an object that can than be manipulated further, and passed to any YAML tool and/or written to disk as desired.

 const exampleWorkflow = new Workflow('example-filename', { /***/ })
 exampleWorkflow.asObject();

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.