1 parent
16b6825172
commit
0e42acb49b
19 files changed
+594
-5
No files matched your search
+17
-2
@@ -388,8 +388,8 @@ Whether or not to indent the code inside `<script>` and `<style>` tags in Vue fi
|
||||
|
||||
Valid options:
|
||||
|
||||
- `"false"` - Do not indent script and style tags in Vue files.
|
||||
- `"true"` - Indent script and style tags in Vue files.
|
||||
- `false` - Do not indent script and style tags in Vue files.
|
||||
- `true` - Indent script and style tags in Vue files.
|
||||
|
||||
| Default | CLI Override | API Override |
|
||||
| ------- | ------------------------------- | --------------------------------- |
|
||||
@@ -451,3 +451,18 @@ Valid options:
|
||||
| Default | CLI Override | API Override |
|
||||
| -------- | ------------------------------------ | ----------------------------------- |
|
||||
| `"auto"` | `--embedded-language-formatting=off` | `embeddedLanguageFormatting: "off"` |
|
||||
|
||||
## Single Attribute Per Line
|
||||
|
||||
_First available in v2.3.3_
|
||||
|
||||
Enforce single attribute per line in HTML, Vue and JSX.
|
||||
|
||||
Valid options:
|
||||
|
||||
- `false` - Do not enforce single attribute per line.
|
||||
- `true` - Enforce single attribute per line.
|
||||
|
||||
| Default | CLI Override | API Override |
|
||||
| ------- | ----------------------------- | -------------------------------- |
|
||||
| `false` | `--single-attribute-per-line` | `singleAttributePerLine: <bool>` |
|
||||
@@ -54,4 +54,11 @@ module.exports = {
|
||||
description:
|
||||
"Put > of opening tags on the last line instead of on a new line.",
|
||||
},
|
||||
singleAttributePerLine: {
|
||||
since: "2.3.3",
|
||||
category: CATEGORY_COMMON,
|
||||
type: "boolean",
|
||||
default: false,
|
||||
description: "Enforce single attribute per line in HTML, Vue and JSX.",
|
||||
},
|
||||
};
|
||||
@@ -28,6 +28,7 @@ module.exports = {
|
||||
},
|
||||
],
|
||||
},
|
||||
singleAttributePerLine: commonOptions.singleAttributePerLine,
|
||||
vueIndentScriptAndStyle: {
|
||||
since: "1.19.0",
|
||||
category: CATEGORY_HTML,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
const assert = require("assert");
|
||||
const { isNonEmptyArray } = require("../../common/util.js");
|
||||
const {
|
||||
builders: { indent, join, line, softline },
|
||||
builders: { indent, join, line, softline, hardline },
|
||||
utils: { replaceTextEndOfLine },
|
||||
} = require("../../document/index.js");
|
||||
const { locStart, locEnd } = require("../loc.js");
|
||||
@@ -251,11 +251,14 @@ function printAttributes(path, options, print) {
|
||||
node.attrs[0].fullName === "src" &&
|
||||
node.children.length === 0;
|
||||
|
||||
const attributeLine =
|
||||
options.singleAttributePerLine && node.attrs.length > 1 ? hardline : line;
|
||||
|
||||
/** @type {Doc[]} */
|
||||
const parts = [
|
||||
indent([
|
||||
forceNotToBreakAttrContent ? " " : line,
|
||||
join(line, printedAttributes),
|
||||
join(attributeLine, printedAttributes),
|
||||
]),
|
||||
];
|
||||
|
||||
|
||||
@@ -98,4 +98,5 @@ module.exports = {
|
||||
},
|
||||
],
|
||||
},
|
||||
singleAttributePerLine: commonOptions.singleAttributePerLine,
|
||||
};
|
||||
@@ -605,12 +605,17 @@ function printJsxOpeningElement(path, options, print) {
|
||||
attr.value.value.includes("\n")
|
||||
);
|
||||
|
||||
const attributeLine =
|
||||
options.singleAttributePerLine && node.attributes.length > 1
|
||||
? hardline
|
||||
: line;
|
||||
|
||||
return group(
|
||||
[
|
||||
"<",
|
||||
print("name"),
|
||||
print("typeParameters"),
|
||||
indent(path.map(() => [line, print()], "attributes")),
|
||||
indent(path.map(() => [attributeLine, print()], "attributes")),
|
||||
node.selfClosing ? line : bracketSameLine ? ">" : softline,
|
||||
node.selfClosing ? "/>" : bracketSameLine ? "" : ">",
|
||||
],
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`single-attribute-per-line.html - {"singleAttributePerLine":true} format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["html"]
|
||||
printWidth: 80
|
||||
singleAttributePerLine: true
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
|
||||
=====================================output=====================================
|
||||
<div data-a="1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
|
||||
|
||||
<div
|
||||
data-a="1"
|
||||
data-b="2"
|
||||
data-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-a="Lorem ipsum dolor sit amet"
|
||||
data-b="Lorem ipsum dolor sit amet"
|
||||
data-c="Lorem ipsum dolor sit amet"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-long-attribute-a="1"
|
||||
data-long-attribute-b="2"
|
||||
data-long-attribute-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="bar"
|
||||
/>
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
||||
/>
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`single-attribute-per-line.html format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["html"]
|
||||
printWidth: 80
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
|
||||
=====================================output=====================================
|
||||
<div data-a="1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-a="Lorem ipsum dolor sit amet"
|
||||
data-b="Lorem ipsum dolor sit amet"
|
||||
data-c="Lorem ipsum dolor sit amet"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-long-attribute-a="1"
|
||||
data-long-attribute-b="2"
|
||||
data-long-attribute-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
||||
/>
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
@@ -0,0 +1,2 @@
|
||||
run_spec(__dirname, ["html"]);
|
||||
run_spec(__dirname, ["html"], { singleAttributePerLine: true });
|
||||
@@ -0,0 +1,21 @@
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
@@ -0,0 +1,163 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`single-attribute-per-line.js - {"singleAttributePerLine":true} format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["flow", "babel", "typescript"]
|
||||
printWidth: 80
|
||||
singleAttributePerLine: true
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
import React from "react";
|
||||
|
||||
const Component = () => (
|
||||
<div>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
</div>
|
||||
);
|
||||
|
||||
=====================================output=====================================
|
||||
import React from "react";
|
||||
|
||||
const Component = () => (
|
||||
<div>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-a="1"
|
||||
data-b="2"
|
||||
data-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-a="Lorem ipsum dolor sit amet"
|
||||
data-b="Lorem ipsum dolor sit amet"
|
||||
data-c="Lorem ipsum dolor sit amet"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-long-attribute-a="1"
|
||||
data-long-attribute-b="2"
|
||||
data-long-attribute-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="bar"
|
||||
/>
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`single-attribute-per-line.js format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["flow", "babel", "typescript"]
|
||||
printWidth: 80
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
import React from "react";
|
||||
|
||||
const Component = () => (
|
||||
<div>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
</div>
|
||||
);
|
||||
|
||||
=====================================output=====================================
|
||||
import React from "react";
|
||||
|
||||
const Component = () => (
|
||||
<div>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-a="Lorem ipsum dolor sit amet"
|
||||
data-b="Lorem ipsum dolor sit amet"
|
||||
data-c="Lorem ipsum dolor sit amet"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-long-attribute-a="1"
|
||||
data-long-attribute-b="2"
|
||||
data-long-attribute-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
@@ -0,0 +1,4 @@
|
||||
run_spec(__dirname, ["flow", "babel", "typescript"]);
|
||||
run_spec(__dirname, ["flow", "babel", "typescript"], {
|
||||
singleAttributePerLine: true,
|
||||
});
|
||||
@@ -0,0 +1,27 @@
|
||||
import React from "react";
|
||||
|
||||
const Component = () => (
|
||||
<div>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
</div>
|
||||
);
|
||||
@@ -0,0 +1,143 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`single-attribute-per-line.vue - {"singleAttributePerLine":true} format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["vue"]
|
||||
printWidth: 80
|
||||
singleAttributePerLine: true
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
<template>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
</template>
|
||||
|
||||
=====================================output=====================================
|
||||
<template>
|
||||
<div data-a="1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
|
||||
|
||||
<div
|
||||
data-a="1"
|
||||
data-b="2"
|
||||
data-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-a="Lorem ipsum dolor sit amet"
|
||||
data-b="Lorem ipsum dolor sit amet"
|
||||
data-c="Lorem ipsum dolor sit amet"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-long-attribute-a="1"
|
||||
data-long-attribute-b="2"
|
||||
data-long-attribute-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="bar"
|
||||
/>
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
||||
/>
|
||||
</template>
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`single-attribute-per-line.vue format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["vue"]
|
||||
printWidth: 80
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
<template>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
</template>
|
||||
|
||||
=====================================output=====================================
|
||||
<template>
|
||||
<div data-a="1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-a="Lorem ipsum dolor sit amet"
|
||||
data-b="Lorem ipsum dolor sit amet"
|
||||
data-c="Lorem ipsum dolor sit amet"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div
|
||||
data-long-attribute-a="1"
|
||||
data-long-attribute-b="2"
|
||||
data-long-attribute-c="3"
|
||||
>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img
|
||||
src="/images/foo.png"
|
||||
alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
||||
/>
|
||||
</template>
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
@@ -0,0 +1,2 @@
|
||||
run_spec(__dirname, ["vue"]);
|
||||
run_spec(__dirname, ["vue"], { singleAttributePerLine: true });
|
||||
@@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div data-a="1">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="1" data-b="2" data-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
</div>
|
||||
|
||||
<img src="/images/foo.png" />
|
||||
|
||||
<img src="/images/foo.png" alt="bar" />
|
||||
|
||||
<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />
|
||||
</template>
|
||||
@@ -86,6 +86,9 @@ Format options:
|
||||
Change when properties in objects are quoted.
|
||||
Defaults to as-needed.
|
||||
--no-semi Do not print semicolons, except at the beginning of lines which may need them.
|
||||
--single-attribute-per-line
|
||||
Enforce single attribute per line in HTML, Vue and JSX.
|
||||
Defaults to false.
|
||||
--single-quote Use single quotes instead of double quotes.
|
||||
Defaults to false.
|
||||
--tab-width <int> Number of spaces per indentation level.
|
||||
@@ -251,6 +254,9 @@ Format options:
|
||||
Change when properties in objects are quoted.
|
||||
Defaults to as-needed.
|
||||
--no-semi Do not print semicolons, except at the beginning of lines which may need them.
|
||||
--single-attribute-per-line
|
||||
Enforce single attribute per line in HTML, Vue and JSX.
|
||||
Defaults to false.
|
||||
--single-quote Use single quotes instead of double quotes.
|
||||
Defaults to false.
|
||||
--tab-width <int> Number of spaces per indentation level.
|
||||
|
||||
@@ -541,6 +541,19 @@ Default: true
|
||||
|
||||
exports[`show detailed usage with --help semi (write) 1`] = `Array []`;
|
||||
|
||||
exports[`show detailed usage with --help single-attribute-per-line (stderr) 1`] = `""`;
|
||||
|
||||
exports[`show detailed usage with --help single-attribute-per-line (stdout) 1`] = `
|
||||
"--single-attribute-per-line
|
||||
|
||||
Enforce single attribute per line in HTML, Vue and JSX.
|
||||
|
||||
Default: false
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`show detailed usage with --help single-attribute-per-line (write) 1`] = `Array []`;
|
||||
|
||||
exports[`show detailed usage with --help single-quote (stderr) 1`] = `""`;
|
||||
|
||||
exports[`show detailed usage with --help single-quote (stdout) 1`] = `
|
||||
|
||||
@@ -366,6 +366,11 @@ in order for it to be formatted.",
|
||||
"description": "Print semicolons.",
|
||||
"type": "boolean",
|
||||
},
|
||||
"singleAttributePerLine": Object {
|
||||
"default": false,
|
||||
"description": "Enforce single attribute per line in HTML, Vue and JSX.",
|
||||
"type": "boolean",
|
||||
},
|
||||
"singleQuote": Object {
|
||||
"default": false,
|
||||
"description": "Use single quotes instead of double quotes.",
|
||||
|
||||
@@ -239,6 +239,10 @@ Object {
|
||||
"default": true,
|
||||
"type": "boolean",
|
||||
},
|
||||
"singleAttributePerLine": Object {
|
||||
"default": false,
|
||||
"type": "boolean",
|
||||
},
|
||||
"singleQuote": Object {
|
||||
"default": false,
|
||||
"type": "boolean",
|
||||
@@ -1065,6 +1069,15 @@ exports[`CLI --support-info (stdout) 1`] = `
|
||||
\\"since\\": \\"1.0.0\\",
|
||||
\\"type\\": \\"boolean\\"
|
||||
},
|
||||
{
|
||||
\\"category\\": \\"Common\\",
|
||||
\\"default\\": false,
|
||||
\\"description\\": \\"Enforce single attribute per line in HTML, Vue and JSX.\\",
|
||||
\\"name\\": \\"singleAttributePerLine\\",
|
||||
\\"pluginDefaults\\": {},
|
||||
\\"since\\": \\"2.3.3\\",
|
||||
\\"type\\": \\"boolean\\"
|
||||
},
|
||||
{
|
||||
\\"category\\": \\"Common\\",
|
||||
\\"default\\": false,
|
||||
|
||||
Reference in new issue
Block a user