Code Monkey home page Code Monkey logo

prettier-regression-testing's Introduction

Prettier Banner

Opinionated Code Formatter

JavaScript · TypeScript · Flow · JSX · JSON
CSS · SCSS · Less
HTML · Vue · Angular
GraphQL · Markdown · YAML
Your favorite language?

Github Actions Build Status Github Actions Build Status Github Actions Build Status Codecov Coverage Status Blazing Fast
npm version weekly downloads from npm code style: prettier Follow Prettier on Twitter

Intro

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

Input

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Output

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne(),
);

Prettier can be run in your editor on-save, in a pre-commit hook, or in CI environments to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again!


Documentation

Install · Options · CLI · API

Playground


Badge

Show the world you're using Prettiercode style: prettier

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

Contributing

See CONTRIBUTING.md.

prettier-regression-testing's People

Contributors

dependabot[bot] avatar fisker avatar github-actions[bot] avatar sosukesuzuki avatar thorn0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

prettier-regression-testing's Issues

Better format script

Why not

execa('yarn add prettier@../prettier')
execa('WHAT_EVER_THIS_REPOSITORY_USED_TO_RUN_PRETTIER')

Test

This is a test for GitHub Actions

Test

This is a test for GitHub Actions trigger.

Demo

This is a demo!

git diff --submodule=diff does not do what's needed

As I noticed in #19 (comment), the wrong diff is shown. The formatted projects go through the three states:

(1) initial state
(2) formatted by the "original" Prettier
(3) formatted by the "alternative" Prettier

expected: a diff between (2) and (3)
actual: a diff between (1) and (3)

Ditch submodules?

It might be just my personal lack of experience of using git submodules, but I'd really prefer to clone repos programmatically and replace submodules with a configuration in the code. In src/execute/run-prettier.ts, we already have something similar:

const targetRepositoryGlobPatternMap: Map<string, string> = new Map([
  ["typescript-eslint", "./**/*.{ts,js,json,md}"],
  ["eslint-plugin-vue", "./**/*.js"],
  ["babel", "./{packages,codemods,eslint}/**/*.js"],
  ["excalidraw", "./**/*.{css,scss,json,md,html,yml}"],
  ["prettier", "."],
  ["vega-lite", "./**/*.ts"],
]);
const targetRepositoryIgnorePathMap: Map<string, string> = new Map([
  ["excalidraw", ".eslintignore"],
  ["babel", ".eslintignore"],
  ["vega-lite", ".eslintignore"],
]);

I propose to make something like this:

const projects = {
  "typescript-eslint": {
    "url": "[email protected]:typescript-eslint/typescript-eslint.git",
    "commit": "a123bcde",
    "glob": "./**/*.{ts,js,json,md}",
    "ignore": "..."
  },
  "babel": {
    // ...
  },
  // and so on
};

Thoughts?

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.