Giter VIP home page Giter VIP logo

rome's Introduction

Rome, logo of an ancient Greek spartan helmet

Rome is a linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS. Read more about our language support here.

Rome unifies functionality that has previously been completely separate tools. Most frontend tooling have a significant overlap in responsibilities and implementation. There is value in these being a single tool. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelizing work, caching, and configuration.

Rome has been built from scratch without the usage of existing libraries. Rome contains no third-party library dependencies.

Rome has strong conventions and aims to have minimal configuration. Read more about our project philosophy here.

Rome is maintained by a team of volunteers. Rome was started by Sebastian McKenzie, the author of Babel and Yarn.

Rome is MIT licensed, and the project managed under the Contributor Covenant Code of Conduct.

History

Rome derives its name from proverbs such as "All Roads Lead to Rome", "Rome wasn't built in a day" and "When in Rome, do as the Romans do". This refers to the expansive scope and the desire for conformity across the project. It started as a joke at the office.

Rome has a logo of a Roman arch, one of the most influential patterns in architecture. It symbolizes a strong foundation, allowing you to build large projects without having to ponder the underlying architecture, and reinventing the wheel.

Codebase

Rome is written completely in TypeScript with sparing usage of loose types.

Rome is a monorepo with internal packages to delineate code boundaries.

Rome is self-hosted and compiles itself with an old version.

Rome supports processing JSX and TypeScript annotated code.

See CONTRIBUTING for more information.

Status

The current area of focus is linting. See the umbrella task #20 for tracking.

Getting Started

To setup Rome in a project, all you need is a rome.json file.

$ mkdir hello-world
$ cd hello-world
$ rome init

This file is used to configure Rome and indicates the boundaries of your project.

See Getting Started for more usage instructions.

Philosophy

Project philosophy can be found on our website.

Community

Contribution and development instructions can be found in CONTRIBUTING.

Additional project coordination and realtime discussion happens on our Discord server. Remember that all activity on the Discord is still moderated and will be strictly enforced under the project's Code of Conduct.

rome's People

Contributors

sebmck avatar diokey avatar ooflorent avatar eduardolopes avatar macovedj avatar yassere avatar bitpshr avatar ematipico avatar kelbie avatar mattcompiles avatar victorhom avatar 1ntegr8 avatar yangshun avatar zinyando avatar wgardiner avatar ikeryo1182 avatar thecodrr avatar matvp91 avatar rzig avatar daniel-macovei-kr avatar jloleysens avatar iaravindreddyp avatar yeonjuan avatar ndresx avatar weblancaster avatar ryota-murakami avatar emmatown avatar smlmrkhlms avatar sreetamdas avatar stefanuros avatar

Watchers

James Cloos avatar  avatar

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.