Coder Social home page Coder Social logo

babel-bot's Introduction

babel

The compiler for writing next generation JavaScript.

Gitpod ready-to-code

v7 npm Downloads v6 npm Downloads

GitHub CI Status Coverage Status Slack Status Follow on Twitter

Supporting Babel

Backers on Open Collective Sponsors on Open Collective Business Strategy Status

Babel (pronounced "babble") is a community-driven project used by many companies and projects, and is maintained by a group of volunteers. If you'd like to help support the future of the project, please consider:

  • Giving developer time on the project. (Message us on Twitter or Slack for guidance!)
  • Giving funds by becoming a sponsor on Open Collective or GitHub (which goes to our Open Collective account)!

Sponsors

Our top sponsors are shown below! [Become a sponsor]

Intro

Babel is a tool that helps you write code in the latest version of JavaScript. When your supported environments don't support certain features natively, Babel will help you compile those features down to a supported version.

In

// ES2020 nullish coalescing
function greet(input) {
  return input ?? "Hello world";
}

Out

function greet(input) {
  return input != null ? input : "Hello world";
}

Try it out at our REPL.

FAQ

Who maintains Babel?

Mostly a handful of volunteers, funded by you! Please check out our team page!

Is there a Babel song?

I'm so glad you asked: Hallelujah โ€”โ€” In Praise of Babel by @angus-c, audio version by @swyx. Tweet us your recordings!

Looking for support?

For questions and support please join our Slack Community (you can sign up here for an invite), ask a question on Stack Overflow, or ping us on Twitter.

Where are the docs?

Check out our website: babeljs.io, and report issues/features at babel/website.

Want to report a bug or request a feature?

Please read through our CONTRIBUTING.md and fill out the issue template at babel/issues!

Want to contribute to Babel?

Check out:

Some resources:

How is the repo structured?

The Babel repo is managed as a monorepo that is composed of many npm packages.

License

MIT

babel-bot's People

Contributors

aaronang avatar danharper avatar daniel15 avatar dependabot[bot] avatar hzoo avatar jlhwung avatar jridgewell avatar nicolo-ribaudo avatar rajikaimal 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

Watchers

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

babel-bot's Issues

Add assignee (reviewer) to PRs

The Facebook/mention-bot offers a programmatic API (source).

It think we could easily integrate it in the Babel-bot.

Usage example:

mentionBot
  .guessOwnersForPullRequest(
    'https://github.com/babel/babel', // repo
    65, // pull request number
    'babel-bot', // user that created the pull request
    'master', // branch
    { maxReviewers: 3 }, // config
    [...]
  )
  .then(function(users) {
    // array with user names which should be included in review
    console.log(users);
  })
  .catch(function(err) {
    console.error(err);
  });

It will be triggered in src/handlers/pull_request/opened.js.

Instead of babel/babel#5057

Auto label issue with "triage"?

eslintbot added the triage label x days ago

Basically each label starts off with triage and then when someone adds anything else it automatically gets removed?

Maybe not necessary but it might work well if we want it

PR Opened: Label if package.json updated

Basically signal that dependencies changed

  • add a package
  • remove a package
  • upgraded a package, etc

similar in idea to #1

basically check the package.json of each folder in packages/x and then would need to parse if it's in devDeps and whether the line was added/removed, changed

Core members

If someone is part of the org (or maybe specifically on the core team), add a label to the PR to prioritize! via @jridgewell

Could do something similar for issues

Reverse Greenkeeper

Send a PR (at least to Babel org projects, and maybe babel plugins) to update to the latest version with a PR, automatically.

  • pr our projects
  • pr canary build (either to either repo as smoke test, or to our own fork)

Nice to Have:

  • Run a codemod if upgrading from 5 to 6, 6 to 7 (if necessary)

Auto-Labeling PRs with packages touched in the monorepo

I have a (working) implementation of this done locally, but there are a few decisions we need to make.

  1. Do we have a cutoff (don't label if over X total packages touched)?
  2. Should we not add the label for some use-cases (example: changing only READMEs or package.json)

Input wanted.

Close issue after no response for x days

One option is that we add the awaiting reply label to an issue and if no response after x days we close it.

Or a little differently, we wait x days for the bot to auto comment this will be closed in y days if no response, and if it's a support question ask on slack and not an issue.

Can I get more info around setup?

Hi,
In AWS_SETUP.md you have GitHub step that shows how to create new API Token thus giving repo permission. And in the final step, you mention about adding Environment variables such as GITHUB_API_KEY and GITHUB_SECRET from Github step. Where is that defined in Github step? What is API_KEY and SECRET referring to?

Thanks,
Suhas

Automatically deploy babel-bot from master

  • Create IAM credentials with bare minimum amount of access
  • Add credentials to Travis as AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables (ideally in the UI so there's no risk of leakage, but encrypted in travis.yml is OK too)
  • Run ./scripts/deploy.js after building, on commits to master (NOT for PRs)

You might need to adjust deploy.js a bit, I made some assumptions when writing it (region is us-west-1, function name is BabelBot) that might not actually be true.

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.