Git Product home page Git Product logo

phabricator-to-github'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

phabricator-to-github's People

Contributors

danez avatar greenkeeperio-bot 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phabricator-to-github's Issues

TODO

CONTRIBUTING: https://github.com/babel/phabricator-to-github/blob/master/CONTRIBUTING.md

Just an issue to track what we can/should do to migrate

Info

Old issue id range: 1 - 3086 (maniphest_task)
New issue range: > 6637
Number of new issues: ~871
Number of new comments: ~2940
Github ratelimit is 5000 requests/hour (https://developer.github.com/v3/#rate-limiting)


Open questions:

  • How to compare/merge issues? Someone needs to check if the github id is somewhere in the phabricator dump. Otherwise we need to retrieve all comments beforehand. Phabricator ids match the github ids.
  • What was the last phabricatorID for the import from github? IF we know that we can easily know which to merge and which to create (3086)
  • Do we want to migrate issues that do not exist yet in github but are already closed? YES
  • Do we need to migrate attachments? (There are 41 attachments that can be migrated by hand)
  • The issue import API is async, which means that issues could get imported in random order. We could wait till the import of one issue is finished and then send the next, but then the import might take several hours (I've seen delays of up to a minute between sending request and issue being imported.)

Tasks:


  • We don't want to spam watchers on github with notifications.
    • Maybe notify all watchers of babel at what time we will do the migration, so they could unwatch the project for that period.
    • Or maybe we can globally disable notifications?
    • Or contact github about that? Maybe also useful for the api rate limiting
  • make sure usernames transfer over correctly
    • some people don't sign up with github (can we link everything?)
    • is it possible to transfer subscribers?

More debug logging

Add more logging so in case something on the import fails we know what was the last thing successfully migrated.

Change DNS settings

@thejameskyle @kittens Can someone of you do this? That would be nice and should not be that hard.

For reference: Currently the domain is pointing to:

โฏ nslookup phabricator.babeljs.io
Server:     192.168.127.253
Address:    192.168.127.253#53

Non-authoritative answer:
Name:   phabricator.babeljs.io
Address: 104.27.143.153
Name:   phabricator.babeljs.io
Address: 104.27.142.153

Plan A

This is a ordered list of things that need to be done for the migration

  • Reach out to github for support with abuse rate limit and notifications @danez
  • Disable phabricator to track github repo and send mails about commits merges.
  • Put phabricator into readonly mode (login will probably not work anymore)
  • Merge PR and Issue template for babel babel/babel#3690
  • Enable issues on github
  • Migrate old and new issues to github
  • Push redirects to (https://github.com/babel/phabricator-redirects)
  • Add phabricator.babeljs.io for github pages to this repo
  • SITE: Lower DNS TTL to 1 minute if possible ($TTL 60) for babeljs.io (Keep note of the current value)
  • SITE: add new additional subdomain for phabricator phabricatorbackup.babeljs.org (or similar)
  • SITE: Adjust DNS for phabricator.babeljs.io to be a CNAME to babel.github.io. (https://help.github.com/articles/setting-up-a-custom-subdomain/)
  • SITE: Set DNS TTL back to what it was before the first task
  • As soon as phabricator.babeljs.io is pointing to github, we could disable readonly mode in phabricator so we can login again in case

I hope I did not miss anything :)

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.