Merge branch 'main' into next
# Conflicts: # package.json # scripts/build/bundler.mjs # scripts/build/config.mjs # src/language-html/print/tag.js # src/main/load-parser.js # src/main/parser.js # yarn.lock
This commit is contained in:
commit
c22ea97e00
20 files changed
+566
-180
No files matched your search
@@ -1,4 +1,4 @@
|
||||
#### [HIGHLIGHT]Support TypeScript 4.7 (#12896, #12897, #12898, #12900, #12921, #12924 by @sosukesuzuki)
|
||||
#### [HIGHLIGHT]Support TypeScript 4.7 (#12896, #12897, #12898, #12900, #12921, #12924, #12959 by @sosukesuzuki)
|
||||
|
||||
Support [TypeScript 4.7](https://devblogs.microsoft.com/typescript/announcing-typescript-4-7) new features!
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#### Avoid printing attribute per line in Vue SFC blocks (#12895 by @sosukesuzuki)
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```vue
|
||||
<!-- Input (singleAttributePerLine: true) -->
|
||||
<script lang="ts" setup>
|
||||
</script>
|
||||
|
||||
<!-- Prettier stable -->
|
||||
<script
|
||||
lang="ts"
|
||||
setup
|
||||
>
|
||||
</script>
|
||||
|
||||
<!-- Prettier main -->
|
||||
<script lang="ts" setup>
|
||||
</script>
|
||||
```
|
||||
+2
-2
@@ -27,7 +27,7 @@
|
||||
"@babel/parser": "7.18.4",
|
||||
"@glimmer/syntax": "0.84.2",
|
||||
"@iarna/toml": "2.2.5",
|
||||
"@typescript-eslint/typescript-estree": "5.26.0",
|
||||
"@typescript-eslint/typescript-estree": "5.27.0",
|
||||
"acorn": "8.7.1",
|
||||
"acorn-jsx": "5.3.2",
|
||||
"angular-estree-parser": "2.5.0",
|
||||
@@ -103,7 +103,7 @@
|
||||
"cross-env": "7.0.3",
|
||||
"cspell": "6.0.0",
|
||||
"enquirer": "2.3.6",
|
||||
"esbuild": "0.14.41",
|
||||
"esbuild": "0.14.42",
|
||||
"esbuild-visualizer": "0.3.1",
|
||||
"eslint": "8.17.0",
|
||||
"eslint-config-prettier": "8.5.0",
|
||||
|
||||
@@ -201,7 +201,9 @@ function* getEsbuildOptions(bundle, buildOptions) {
|
||||
}),
|
||||
buildOptions.reports &&
|
||||
esbuildPluginVisualizer({ formats: buildOptions.reports }),
|
||||
esbuildPluginThrowWarnings(),
|
||||
esbuildPluginThrowWarnings({
|
||||
allowDynamicRequire: bundle.target === "node",
|
||||
}),
|
||||
].filter(Boolean),
|
||||
minify: shouldMinify,
|
||||
legalComments: "none",
|
||||
|
||||
@@ -1,19 +1,71 @@
|
||||
const ignoredWarnings = new Set([
|
||||
// Duplicated case clause
|
||||
"This case clause will never be evaluated because it duplicates an earlier case clause",
|
||||
]);
|
||||
// https://github.com/evanw/esbuild/commit/1916318ca7f803253dbdae0942af1c9a6d3a6910
|
||||
const ESBUILD_MESSAGE_IDS = [
|
||||
"assign-to-constant",
|
||||
"call-import-namespace",
|
||||
"commonjs-variable-in-esm",
|
||||
"delete-super-property",
|
||||
"direct-eval",
|
||||
"duplicate-case",
|
||||
"duplicate-object-key",
|
||||
"empty-import-meta",
|
||||
"equals-nan",
|
||||
"equals-negative-zero",
|
||||
"equals-new-object",
|
||||
"html-comment-in-js",
|
||||
"impossible-typeof",
|
||||
"private-name-will-throw",
|
||||
"semicolon-after-return",
|
||||
"suspicious-boolean-not",
|
||||
"this-is-undefined-in-esm",
|
||||
"unsupported-dynamic-import",
|
||||
"unsupported-jsx-comment",
|
||||
"unsupported-regexp",
|
||||
"unsupported-require-call",
|
||||
"different-path-case",
|
||||
"ignored-bare-import",
|
||||
"ignored-dynamic-import",
|
||||
"import-is-undefined",
|
||||
"package.json",
|
||||
"require-resolve-not-external",
|
||||
"tsconfig.json",
|
||||
];
|
||||
const logOverride = Object.fromEntries(
|
||||
ESBUILD_MESSAGE_IDS.map((id) => [id, "warning"])
|
||||
);
|
||||
|
||||
export default function esbuildPluginThrowWarnings() {
|
||||
export default function esbuildPluginThrowWarnings({ allowDynamicRequire }) {
|
||||
return {
|
||||
name: "throw-warnings",
|
||||
setup(build) {
|
||||
const options = build.initialOptions;
|
||||
options.logOverride = {
|
||||
...logOverride,
|
||||
...options.logOverride,
|
||||
};
|
||||
|
||||
build.onEnd((result) => {
|
||||
if (result.errors.length > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (const warning of result.warnings) {
|
||||
if (ignoredWarnings.has(warning.text)) {
|
||||
if (
|
||||
allowDynamicRequire &&
|
||||
warning.text ===
|
||||
'This call to "require" will not be bundled because the argument is not a string literal'
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (
|
||||
[
|
||||
"node_modules/flow-parser/flow_parser.js",
|
||||
"dist/_parser-flow.js.umd.js",
|
||||
"dist/_parser-flow.js.esm.mjs",
|
||||
].includes(warning.location.file) &&
|
||||
warning.text ===
|
||||
"This case clause will never be evaluated because it duplicates an earlier case clause"
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { getReleaseUrl } from "../../steps/publish-to-npm.js";
|
||||
import { getReleaseUrl } from "../../steps/show-instructions-after-npm-publish.js";
|
||||
|
||||
describe("publish-to-npm", () => {
|
||||
describe("getReleaseUrl", () => {
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import { isVersionReleased } from "../../steps/wait-for-bot-release.js";
|
||||
|
||||
describe("isVersionReleased", () => {
|
||||
test("returns true for existing version", async () => {
|
||||
const result = await isVersionReleased("1.0.0");
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
test("rejects true for non-existing version", async () => {
|
||||
await expect(
|
||||
isVersionReleased("999.0.0")
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
'"prettier@999.0.0 doesn\'t exit."'
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -15,8 +15,9 @@ async function run() {
|
||||
|
||||
const params = minimist(process.argv.slice(2), {
|
||||
string: ["version"],
|
||||
boolean: ["dry"],
|
||||
boolean: ["dry", "manual"],
|
||||
alias: { v: "version" },
|
||||
default: { manual: false },
|
||||
});
|
||||
|
||||
const { stdout: previousVersion } = await runGit([
|
||||
@@ -39,16 +40,21 @@ async function run() {
|
||||
"./steps/validate-new-version.js",
|
||||
"./steps/check-git-status.js",
|
||||
"./steps/install-dependencies.js",
|
||||
"./steps/run-tests.js",
|
||||
params.manual && "./steps/run-tests.js",
|
||||
"./steps/update-version.js",
|
||||
"./steps/generate-bundles.js",
|
||||
params.manual && "./steps/generate-bundles.js",
|
||||
"./steps/update-changelog.js",
|
||||
"./steps/push-to-git.js",
|
||||
"./steps/publish-to-npm.js",
|
||||
params.manual
|
||||
? "./steps/publish-to-npm.js"
|
||||
: "./steps/wait-for-bot-release.js",
|
||||
"./steps/show-instructions-after-npm-publish.js",
|
||||
"./steps/update-dependents-count.js",
|
||||
"./steps/bump-prettier.js",
|
||||
"./steps/post-publish-steps.js",
|
||||
].map((step) => importDefault(step))
|
||||
]
|
||||
.filter(Boolean)
|
||||
.map((step) => importDefault(step))
|
||||
);
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,16 +1,6 @@
|
||||
import chalk from "chalk";
|
||||
import outdent from "outdent";
|
||||
import { execa } from "execa";
|
||||
import semver from "semver";
|
||||
import enquirer from "enquirer";
|
||||
import {
|
||||
getBlogPostInfo,
|
||||
getChangelogContent,
|
||||
logPromise,
|
||||
waitForEnter,
|
||||
} from "../utils.js";
|
||||
|
||||
const outdentString = outdent.string;
|
||||
import { logPromise } from "../utils.js";
|
||||
|
||||
/**
|
||||
* Retry "npm publish" when to enter OTP is failed.
|
||||
@@ -37,53 +27,10 @@ async function retryNpmPublish() {
|
||||
}
|
||||
}
|
||||
|
||||
export function getReleaseUrl(version, previousVersion) {
|
||||
const semverDiff = semver.diff(version, previousVersion);
|
||||
const isPatch = semverDiff === "patch";
|
||||
let body;
|
||||
if (isPatch) {
|
||||
const urlToChangelog =
|
||||
"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#" +
|
||||
version.split(".").join("");
|
||||
body = `🔗 [Changelog](${urlToChangelog})`;
|
||||
} else {
|
||||
const blogPostInfo = getBlogPostInfo(version);
|
||||
body = getChangelogContent({
|
||||
version,
|
||||
previousVersion,
|
||||
body: `🔗 [Release note](https://prettier.io/${blogPostInfo.path})`,
|
||||
});
|
||||
}
|
||||
body = encodeURIComponent(body);
|
||||
return `https://github.com/prettier/prettier/releases/new?tag=${version}&title=${version}&body=${body}`;
|
||||
}
|
||||
|
||||
export default async function publishToNpm({ dry, version, previousVersion }) {
|
||||
export default async function publishToNpm({ dry }) {
|
||||
if (dry) {
|
||||
return;
|
||||
}
|
||||
|
||||
await logPromise("Publishing to npm", retryNpmPublish());
|
||||
|
||||
const releaseUrl = getReleaseUrl(version, previousVersion);
|
||||
|
||||
console.log(
|
||||
outdentString(chalk`
|
||||
{green.bold Prettier ${version} published!}
|
||||
|
||||
{yellow.bold Some manual steps are necessary.}
|
||||
|
||||
{bold.underline Create a GitHub Release}
|
||||
- Go to {cyan.underline ${releaseUrl}}
|
||||
- Press {bgGreen.black Publish release }
|
||||
|
||||
{bold.underline Test the new release}
|
||||
- In a new session, run {yellow npm i prettier@latest} in another directory
|
||||
- Test the API and CLI
|
||||
|
||||
After that, we can proceed to bump this repo's Prettier dependency.
|
||||
Press ENTER to continue.
|
||||
`)
|
||||
);
|
||||
await waitForEnter();
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import chalk from "chalk";
|
||||
import outdent from "outdent";
|
||||
import semver from "semver";
|
||||
import {
|
||||
getBlogPostInfo,
|
||||
getChangelogContent,
|
||||
waitForEnter,
|
||||
} from "../utils.js";
|
||||
|
||||
const outdentString = outdent.string;
|
||||
|
||||
export function getReleaseUrl(version, previousVersion) {
|
||||
const semverDiff = semver.diff(version, previousVersion);
|
||||
const isPatch = semverDiff === "patch";
|
||||
let body;
|
||||
if (isPatch) {
|
||||
const urlToChangelog =
|
||||
"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#" +
|
||||
version.split(".").join("");
|
||||
body = `🔗 [Changelog](${urlToChangelog})`;
|
||||
} else {
|
||||
const blogPostInfo = getBlogPostInfo(version);
|
||||
body = getChangelogContent({
|
||||
version,
|
||||
previousVersion,
|
||||
body: `🔗 [Release note](https://prettier.io/${blogPostInfo.path})`,
|
||||
});
|
||||
}
|
||||
body = encodeURIComponent(body);
|
||||
return `https://github.com/prettier/prettier/releases/new?tag=${version}&title=${version}&body=${body}`;
|
||||
}
|
||||
|
||||
export default async function showInstructionsAfterNpmPublish({
|
||||
version,
|
||||
previousVersion,
|
||||
}) {
|
||||
const releaseUrl = getReleaseUrl(version, previousVersion);
|
||||
|
||||
console.log(
|
||||
outdentString(chalk`
|
||||
{green.bold Prettier ${version} published!}
|
||||
|
||||
{yellow.bold Some manual steps are necessary.}
|
||||
|
||||
{bold.underline Create a GitHub Release}
|
||||
- Go to {cyan.underline ${releaseUrl}}
|
||||
- Press {bgGreen.black Publish release }
|
||||
|
||||
{bold.underline Test the new release}
|
||||
- In a new session, run {yellow npm i prettier@latest} in another directory
|
||||
- Test the API and CLI
|
||||
|
||||
After that, we can proceed to bump this repo's Prettier dependency.
|
||||
Press ENTER to continue.
|
||||
`)
|
||||
);
|
||||
await waitForEnter();
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
import chalk from "chalk";
|
||||
import outdent from "outdent";
|
||||
import fetch from "node-fetch";
|
||||
import { waitForEnter, logPromise } from "../utils.js";
|
||||
|
||||
const outdentString = outdent.string;
|
||||
|
||||
export async function isVersionReleased(version) {
|
||||
const response = await fetch("https://registry.npmjs.org/prettier/");
|
||||
const result = await response.json();
|
||||
const versionExists = version in result.time;
|
||||
|
||||
if (!versionExists) {
|
||||
throw new Error(`prettier@${version} doesn't exit.`);
|
||||
}
|
||||
|
||||
return versionExists;
|
||||
}
|
||||
|
||||
async function checkBotPermission() {
|
||||
const response = await fetch("https://registry.npmjs.org/prettier/");
|
||||
const { maintainers } = await response.json();
|
||||
|
||||
return maintainers.some(({ name }) => name === "prettier-bot");
|
||||
}
|
||||
|
||||
checkBotPermission();
|
||||
|
||||
const sleep = () =>
|
||||
new Promise((resolve) => {
|
||||
setTimeout(resolve, 30_000);
|
||||
});
|
||||
|
||||
export default async function waitForBotRelease({ dry, version }) {
|
||||
if (dry) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(await checkBotPermission())) {
|
||||
console.log(
|
||||
outdentString(chalk/* indent */ `
|
||||
1. Go to {green.underline https://www.npmjs.com/package/prettier/access}
|
||||
2. Add "{yellow prettier-bot}" as prettier package maintainer.
|
||||
|
||||
Press ENTER to continue.
|
||||
`)
|
||||
);
|
||||
|
||||
await waitForEnter();
|
||||
}
|
||||
|
||||
console.log(
|
||||
outdentString(chalk/* indent */ `
|
||||
1. Go to {green.underline https://github.com/prettier/release-workflow/actions/workflows/release.yml}
|
||||
2. Click "{green Run workflow}" button, type "{yellow.underline ${version}}" in "Version to release", uncheck all checkboxes, hit the "{bgGreen Run workflow}" button.
|
||||
|
||||
Press ENTER to continue.
|
||||
`)
|
||||
);
|
||||
|
||||
await waitForEnter();
|
||||
|
||||
let released = false;
|
||||
while (!released) {
|
||||
try {
|
||||
released = await logPromise(
|
||||
"Checking release status",
|
||||
isVersionReleased(version)
|
||||
);
|
||||
} catch {
|
||||
// No op
|
||||
}
|
||||
|
||||
if (!released) {
|
||||
await logPromise("Wait for 30s", sleep());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import {
|
||||
isPreLikeNode,
|
||||
hasPrettierIgnore,
|
||||
shouldPreserveContent,
|
||||
isVueSfcBlock,
|
||||
} from "../utils/index.js";
|
||||
|
||||
function printClosingTag(node, options) {
|
||||
@@ -253,8 +254,11 @@ function printAttributes(path, options, print) {
|
||||
node.attrs[0].fullName === "src" &&
|
||||
node.children.length === 0;
|
||||
|
||||
const attributeLine =
|
||||
options.singleAttributePerLine && node.attrs.length > 1 ? hardline : line;
|
||||
const shouldPrintAttributePerLine =
|
||||
options.singleAttributePerLine &&
|
||||
node.attrs.length > 1 &&
|
||||
!isVueSfcBlock(node, options);
|
||||
const attributeLine = shouldPrintAttributePerLine ? hardline : line;
|
||||
|
||||
/** @type {Doc[]} */
|
||||
const parts = [
|
||||
|
||||
@@ -667,6 +667,7 @@ export {
|
||||
isVueScriptTag,
|
||||
isVueSlotAttribute,
|
||||
isVueSfcBindingsAttribute,
|
||||
isVueSfcBlock,
|
||||
isDanglingSpaceSensitiveNode,
|
||||
isIndentationSensitiveNode,
|
||||
isLeadingSpaceSensitiveNode,
|
||||
|
||||
@@ -57,11 +57,7 @@ function callPluginParseFunction(originalText, opts) {
|
||||
const parsers = getParsers(opts);
|
||||
|
||||
// Create a new object {parserName: parseFn}. Uses defineProperty() to only call
|
||||
// the parsers getters when actually calling the parser `parse` function.
|
||||
const parsersForCustomParserApi = Object.defineProperties(
|
||||
{},
|
||||
Object.fromEntries(
|
||||
Object.keys(parsers).map((parserName) => [
|
||||
parserName,
|
||||
{
|
||||
enumerable: true,
|
||||
|
||||
@@ -184,22 +184,6 @@ type Foo =
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`ts-4.7-instantiation-expression.ts format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel-ts"]
|
||||
printWidth: 80
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
// typeof
|
||||
let x: typeof y.z<w>;
|
||||
|
||||
=====================================output=====================================
|
||||
// typeof
|
||||
let x: typeof y.z<w>;
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`tuple-labeled-ts.ts format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["babel-ts"]
|
||||
|
||||
@@ -68,3 +68,17 @@ new A<T>();
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`typeof.ts format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["typescript"]
|
||||
printWidth: 80
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
let x: typeof y.z<w>;
|
||||
|
||||
=====================================output=====================================
|
||||
let x: typeof y.z<w>;
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
-1
@@ -1,2 +1 @@
|
||||
// typeof
|
||||
let x: typeof y.z<w>;
|
||||
@@ -1,5 +1,152 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`sfc-blocks.vue - {"singleAttributePerLine":true} format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["vue"]
|
||||
printWidth: 80
|
||||
singleAttributePerLine: true
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
<script setup lang="ts">
|
||||
console.log("hello")
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
|
||||
<unknown-block foo bar="bar" baz long_long_long_long_attribute></unknown-block>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_file_path.ts">
|
||||
</script>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_long_file_path.ts">
|
||||
</script>
|
||||
|
||||
<script lang="ts" src="./short">
|
||||
</script>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./short">
|
||||
</template>
|
||||
|
||||
=====================================output=====================================
|
||||
<script setup lang="ts">
|
||||
console.log("hello");
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
|
||||
<unknown-block foo bar="bar" baz long_long_long_long_attribute></unknown-block>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_file_path.ts"></script>
|
||||
|
||||
<script
|
||||
lang="ts"
|
||||
src="./long_long_long_long_long_long_long_file_path.ts"
|
||||
></script>
|
||||
|
||||
<script lang="ts" src="./short"></script>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template
|
||||
lang="pug"
|
||||
src="./long_long_long_long_long_long_long_long_file_path.pug"
|
||||
>
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./short">
|
||||
</template>
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`sfc-blocks.vue format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["vue"]
|
||||
printWidth: 80
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
<script setup lang="ts">
|
||||
console.log("hello")
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
|
||||
<unknown-block foo bar="bar" baz long_long_long_long_attribute></unknown-block>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_file_path.ts">
|
||||
</script>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_long_file_path.ts">
|
||||
</script>
|
||||
|
||||
<script lang="ts" src="./short">
|
||||
</script>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./short">
|
||||
</template>
|
||||
|
||||
=====================================output=====================================
|
||||
<script setup lang="ts">
|
||||
console.log("hello");
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
|
||||
<unknown-block foo bar="bar" baz long_long_long_long_attribute></unknown-block>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_file_path.ts"></script>
|
||||
|
||||
<script
|
||||
lang="ts"
|
||||
src="./long_long_long_long_long_long_long_file_path.ts"
|
||||
></script>
|
||||
|
||||
<script lang="ts" src="./short"></script>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template
|
||||
lang="pug"
|
||||
src="./long_long_long_long_long_long_long_long_file_path.pug"
|
||||
>
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./short">
|
||||
</template>
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
exports[`single-attribute-per-line.vue - {"singleAttributePerLine":true} format 1`] = `
|
||||
====================================options=====================================
|
||||
parsers: ["vue"]
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<script setup lang="ts">
|
||||
console.log("hello")
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
|
||||
<unknown-block foo bar="bar" baz long_long_long_long_attribute></unknown-block>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_file_path.ts">
|
||||
</script>
|
||||
|
||||
<script lang="ts" src="./long_long_long_long_long_long_long_file_path.ts">
|
||||
</script>
|
||||
|
||||
<script lang="ts" src="./short">
|
||||
</script>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./long_long_long_long_long_long_long_long_file_path.pug">
|
||||
</template>
|
||||
|
||||
<template lang="pug" src="./short">
|
||||
</template>
|
||||
@@ -1552,6 +1552,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/types@npm:5.27.0":
|
||||
version: 5.27.0
|
||||
resolution: "@typescript-eslint/types@npm:5.27.0"
|
||||
checksum: d19802bb7bc8202885a47118e196ad9a26b686f00da5aa71a84974c1e838c5e3a36f54116605c46ffe909ccf856a49623f2a095fd05243b4fe4fecfe5cecb89c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/typescript-estree@npm:5.26.0":
|
||||
version: 5.26.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:5.26.0"
|
||||
@@ -1570,6 +1577,24 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/typescript-estree@npm:5.27.0":
|
||||
version: 5.27.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:5.27.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": 5.27.0
|
||||
"@typescript-eslint/visitor-keys": 5.27.0
|
||||
debug: ^4.3.4
|
||||
globby: ^11.1.0
|
||||
is-glob: ^4.0.3
|
||||
semver: ^7.3.7
|
||||
tsutils: ^3.21.0
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: a0f14c332cd293a100399172c9ae498c230c8c205ab74565ea2de08a0bd860af829a9c4dde1888df89667fa0bc29048bc33993eb9445d2689fa2dfcec55c4915
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/utils@npm:5.26.0, @typescript-eslint/utils@npm:^5.10.0":
|
||||
version: 5.26.0
|
||||
resolution: "@typescript-eslint/utils@npm:5.26.0"
|
||||
@@ -1596,6 +1621,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/visitor-keys@npm:5.27.0":
|
||||
version: 5.27.0
|
||||
resolution: "@typescript-eslint/visitor-keys@npm:5.27.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": 5.27.0
|
||||
eslint-visitor-keys: ^3.3.0
|
||||
checksum: 7781f35e25a09d0986b4ba97c707102394cf94738a92d68eca6382b00ffba1b0fac3e937ca4ee6266295dd40ec837a61889fd715f594549f2c3d837594999c29
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abbrev@npm:1":
|
||||
version: 1.1.1
|
||||
resolution: "abbrev@npm:1.1.1"
|
||||
@@ -2920,121 +2955,121 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-android-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-android-64@npm:0.14.41"
|
||||
"esbuild-android-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-android-64@npm:0.14.42"
|
||||
conditions: os=android & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-android-arm64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-android-arm64@npm:0.14.41"
|
||||
"esbuild-android-arm64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-android-arm64@npm:0.14.42"
|
||||
conditions: os=android & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-darwin-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-darwin-64@npm:0.14.41"
|
||||
"esbuild-darwin-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-darwin-64@npm:0.14.42"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-darwin-arm64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-darwin-arm64@npm:0.14.41"
|
||||
"esbuild-darwin-arm64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-darwin-arm64@npm:0.14.42"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-freebsd-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-freebsd-64@npm:0.14.41"
|
||||
"esbuild-freebsd-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-freebsd-64@npm:0.14.42"
|
||||
conditions: os=freebsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-freebsd-arm64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-freebsd-arm64@npm:0.14.41"
|
||||
"esbuild-freebsd-arm64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-freebsd-arm64@npm:0.14.42"
|
||||
conditions: os=freebsd & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-32@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-32@npm:0.14.41"
|
||||
"esbuild-linux-32@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-32@npm:0.14.42"
|
||||
conditions: os=linux & cpu=ia32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-64@npm:0.14.41"
|
||||
"esbuild-linux-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-64@npm:0.14.42"
|
||||
conditions: os=linux & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-arm64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-arm64@npm:0.14.41"
|
||||
"esbuild-linux-arm64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-arm64@npm:0.14.42"
|
||||
conditions: os=linux & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-arm@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-arm@npm:0.14.41"
|
||||
"esbuild-linux-arm@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-arm@npm:0.14.42"
|
||||
conditions: os=linux & cpu=arm
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-mips64le@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-mips64le@npm:0.14.41"
|
||||
"esbuild-linux-mips64le@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-mips64le@npm:0.14.42"
|
||||
conditions: os=linux & cpu=mips64el
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-ppc64le@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-ppc64le@npm:0.14.41"
|
||||
"esbuild-linux-ppc64le@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-ppc64le@npm:0.14.42"
|
||||
conditions: os=linux & cpu=ppc64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-riscv64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-riscv64@npm:0.14.41"
|
||||
"esbuild-linux-riscv64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-riscv64@npm:0.14.42"
|
||||
conditions: os=linux & cpu=riscv64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-linux-s390x@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-linux-s390x@npm:0.14.41"
|
||||
"esbuild-linux-s390x@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-linux-s390x@npm:0.14.42"
|
||||
conditions: os=linux & cpu=s390x
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-netbsd-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-netbsd-64@npm:0.14.41"
|
||||
"esbuild-netbsd-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-netbsd-64@npm:0.14.42"
|
||||
conditions: os=netbsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-openbsd-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-openbsd-64@npm:0.14.41"
|
||||
"esbuild-openbsd-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-openbsd-64@npm:0.14.42"
|
||||
conditions: os=openbsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-sunos-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-sunos-64@npm:0.14.41"
|
||||
"esbuild-sunos-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-sunos-64@npm:0.14.42"
|
||||
conditions: os=sunos & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
@@ -3052,51 +3087,51 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-windows-32@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-windows-32@npm:0.14.41"
|
||||
"esbuild-windows-32@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-windows-32@npm:0.14.42"
|
||||
conditions: os=win32 & cpu=ia32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-windows-64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-windows-64@npm:0.14.41"
|
||||
"esbuild-windows-64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-windows-64@npm:0.14.42"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild-windows-arm64@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild-windows-arm64@npm:0.14.41"
|
||||
"esbuild-windows-arm64@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild-windows-arm64@npm:0.14.42"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild@npm:0.14.41":
|
||||
version: 0.14.41
|
||||
resolution: "esbuild@npm:0.14.41"
|
||||
"esbuild@npm:0.14.42":
|
||||
version: 0.14.42
|
||||
resolution: "esbuild@npm:0.14.42"
|
||||
dependencies:
|
||||
esbuild-android-64: 0.14.41
|
||||
esbuild-android-arm64: 0.14.41
|
||||
esbuild-darwin-64: 0.14.41
|
||||
esbuild-darwin-arm64: 0.14.41
|
||||
esbuild-freebsd-64: 0.14.41
|
||||
esbuild-freebsd-arm64: 0.14.41
|
||||
esbuild-linux-32: 0.14.41
|
||||
esbuild-linux-64: 0.14.41
|
||||
esbuild-linux-arm: 0.14.41
|
||||
esbuild-linux-arm64: 0.14.41
|
||||
esbuild-linux-mips64le: 0.14.41
|
||||
esbuild-linux-ppc64le: 0.14.41
|
||||
esbuild-linux-riscv64: 0.14.41
|
||||
esbuild-linux-s390x: 0.14.41
|
||||
esbuild-netbsd-64: 0.14.41
|
||||
esbuild-openbsd-64: 0.14.41
|
||||
esbuild-sunos-64: 0.14.41
|
||||
esbuild-windows-32: 0.14.41
|
||||
esbuild-windows-64: 0.14.41
|
||||
esbuild-windows-arm64: 0.14.41
|
||||
esbuild-android-64: 0.14.42
|
||||
esbuild-android-arm64: 0.14.42
|
||||
esbuild-darwin-64: 0.14.42
|
||||
esbuild-darwin-arm64: 0.14.42
|
||||
esbuild-freebsd-64: 0.14.42
|
||||
esbuild-freebsd-arm64: 0.14.42
|
||||
esbuild-linux-32: 0.14.42
|
||||
esbuild-linux-64: 0.14.42
|
||||
esbuild-linux-arm: 0.14.42
|
||||
esbuild-linux-arm64: 0.14.42
|
||||
esbuild-linux-mips64le: 0.14.42
|
||||
esbuild-linux-ppc64le: 0.14.42
|
||||
esbuild-linux-riscv64: 0.14.42
|
||||
esbuild-linux-s390x: 0.14.42
|
||||
esbuild-netbsd-64: 0.14.42
|
||||
esbuild-openbsd-64: 0.14.42
|
||||
esbuild-sunos-64: 0.14.42
|
||||
esbuild-windows-32: 0.14.42
|
||||
esbuild-windows-64: 0.14.42
|
||||
esbuild-windows-arm64: 0.14.42
|
||||
dependenciesMeta:
|
||||
esbuild-android-64:
|
||||
optional: true
|
||||
@@ -3140,7 +3175,7 @@ __metadata:
|
||||
optional: true
|
||||
bin:
|
||||
esbuild: bin/esbuild
|
||||
checksum: d36375235610aa23b7d0e4045a9927102db500369ba88ceee30e3997bfc1e7f25c8fc2e44b77e09ce4e6b88314e466a85503d55587db16a55a8c98673ba3fad9
|
||||
checksum: e036278177bdb3f5a58fd7a56f67afa7ae603e0458b0dcc75901e0fa86b07587a63c2b447653d400c1bdf9d56e93b0d1011b6a83fc3c973e752c3cc75baabb91
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -6632,7 +6667,7 @@ __metadata:
|
||||
"@types/estree": 0.0.51
|
||||
"@types/jest": 28.1.1
|
||||
"@typescript-eslint/eslint-plugin": 5.26.0
|
||||
"@typescript-eslint/typescript-estree": 5.26.0
|
||||
"@typescript-eslint/typescript-estree": 5.27.0
|
||||
acorn: 8.7.1
|
||||
acorn-jsx: 5.3.2
|
||||
angular-estree-parser: 2.5.0
|
||||
@@ -6653,7 +6688,7 @@ __metadata:
|
||||
editorconfig: 0.15.3
|
||||
editorconfig-to-prettier: 0.2.0
|
||||
enquirer: 2.3.6
|
||||
esbuild: 0.14.41
|
||||
esbuild: 0.14.42
|
||||
esbuild-visualizer: 0.3.1
|
||||
escape-string-regexp: 5.0.0
|
||||
eslint: 8.17.0
|
||||
|
||||
Reference in new issue
Block a user