From 02ed1fbe35ef46cd862c101a0a5f204afff6e00b Mon Sep 17 00:00:00 2001 From: MarcusOtter Date: Fri, 8 Jul 2022 03:06:57 +0200 Subject: [PATCH 1/6] Setup prettier plugin for astro files --- .prettierignore | 2 +- .prettierrc.js | 23 +++++++++++++++ .prettierrc.json | 17 ----------- package.json | 3 +- pnpm-lock.yaml | 74 +++++++++++++++++++++++++++++++++++++++++++++--- 5 files changed, 96 insertions(+), 23 deletions(-) create mode 100644 .prettierrc.js delete mode 100644 .prettierrc.json diff --git a/.prettierignore b/.prettierignore index 7b6398b3e22d..a72857c0b76c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,6 @@ # To be removed with ".astro" parsing is ready # Also, be sure to remove "pluginSearchDirs" from config -**/*.astro +# **/*.astro # Deep Directories **/dist diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 000000000000..b7d997850975 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,23 @@ +module.exports = { + plugins: [require.resolve('prettier-plugin-astro')], + printWidth: 100, + semi: true, + singleQuote: true, + tabWidth: 2, + trailingComma: 'es5', + useTabs: true, + overrides: [ + { + files: ['.*', '*.json', '*.md', '*.toml', '*.yml'], + options: { + useTabs: false, + }, + }, + { + files: '*.astro', + options: { + parser: 'astro', + }, + }, + ], +}; diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index b0a1a2a0757f..000000000000 --- a/.prettierrc.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "printWidth": 100, - "semi": true, - "singleQuote": true, - "tabWidth": 2, - "trailingComma": "es5", - "useTabs": true, - "overrides": [ - { - "files": [".*", "*.json", "*.md", "*.toml", "*.yml"], - "options": { - "useTabs": false - } - } - ], - "pluginSearchDirs": ["./assets"] -} diff --git a/package.json b/package.json index ee49bddefab6..b551c6011bf8 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,8 @@ "eslint-plugin-prettier": "^4.0.0", "execa": "^6.1.0", "organize-imports-cli": "^0.10.0", - "prettier": "^2.7.0", + "prettier": "^2.7.1", + "prettier-plugin-astro": "^0.1.1", "pretty-bytes": "^6.0.0", "tiny-glob": "^0.2.9", "turbo": "1.2.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4553823e742f..8d9c15f38d42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,8 @@ importers: eslint-plugin-prettier: ^4.0.0 execa: ^6.1.0 organize-imports-cli: ^0.10.0 - prettier: ^2.7.0 + prettier: ^2.7.1 + prettier-plugin-astro: ^0.1.1 pretty-bytes: ^6.0.0 tiny-glob: ^0.2.9 turbo: 1.2.5 @@ -50,6 +51,7 @@ importers: execa: 6.1.0 organize-imports-cli: 0.10.0 prettier: 2.7.1 + prettier-plugin-astro: 0.1.1 pretty-bytes: 6.0.0 tiny-glob: 0.2.9 turbo: 1.2.5 @@ -2634,6 +2636,13 @@ packages: leven: 3.1.0 dev: true + /@astrojs/compiler/0.15.2: + resolution: {integrity: sha512-YsxIyx026zPWbxv3wYrudr1jh8u6oSnhP6MW+9OAgiFuICHjSX4Rw+qm8wJj1D5IkJ3HsDtE+kFMMYIozZ5bvQ==} + dependencies: + tsm: 2.2.1 + uvu: 0.5.4 + dev: true + /@astrojs/compiler/0.18.0: resolution: {integrity: sha512-iBX4Fm5FwAnDLJcnH6DII41lla6iLX3gSabZ884P5TuG+CxL3fEew9gZ6AhTUnpyNXuyuYb6+xWQPQdNA9KsXA==} dev: false @@ -4895,6 +4904,18 @@ packages: '@octokit/openapi-types': 12.6.0 dev: true + /@pkgr/utils/2.3.0: + resolution: {integrity: sha512-7dIJ9CRVzBnqyEl7diUHPUFJf/oty2SeoVzcMocc5PeOUDK9KGzvgIBjGRRzzlRDaOjh3ADwH0WeibQvi3ls2Q==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + is-glob: 4.0.3 + open: 8.4.0 + picocolors: 1.0.0 + tiny-glob: 0.2.9 + tslib: 2.4.0 + dev: true + /@playwright/test/1.23.1: resolution: {integrity: sha512-dKplLPSYPZgnsBk1xxOophhpx3ZVg8DveoNJgLPe096lDCfmaIIreLsYF+4hqzy3PG61IP+aEnG5VAOjC3bhbA==} engines: {node: '>=14'} @@ -9058,6 +9079,11 @@ packages: dependencies: clone: 1.0.4 + /define-lazy-prop/2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + /define-properties/1.1.4: resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} @@ -10737,7 +10763,6 @@ packages: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true - dev: false /is-docker/3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} @@ -10944,7 +10969,6 @@ packages: engines: {node: '>=8'} dependencies: is-docker: 2.2.1 - dev: false /isarray/0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} @@ -12260,6 +12284,15 @@ packages: dependencies: mimic-fn: 4.0.0 + /open/8.4.0: + resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + /optionator/0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -13043,6 +13076,16 @@ packages: fast-diff: 1.2.0 dev: true + /prettier-plugin-astro/0.1.1: + resolution: {integrity: sha512-587zFbgQoZm13jjGukkW0xMDKLwuMw6RlSuvsjdjRr43JWUFTJVxwFnw44pLYLVRwGQLOCDBwBKiZEJ10ghBlQ==} + engines: {node: ^14.13.1 || >=16.0.0, npm: '>=6.14.0'} + dependencies: + '@astrojs/compiler': 0.15.2 + prettier: 2.7.1 + sass-formatter: 0.7.5 + synckit: 0.7.2 + dev: true + /prettier/1.19.1: resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} engines: {node: '>=4'} @@ -13627,6 +13670,10 @@ packages: tslib: 2.4.0 dev: true + /s.color/0.0.15: + resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} + dev: true + /sade/1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -13651,6 +13698,12 @@ packages: rimraf: 2.7.1 dev: false + /sass-formatter/0.7.5: + resolution: {integrity: sha512-NKFP8ddjhUYi6A/iD1cEtzkEs91U61kzqe3lY9SVNuvX7LGc88xnEN0mmsWL7Ol//YTi2GL/ol7b9XZ2+hgXuA==} + dependencies: + suf-log: 2.5.3 + dev: true + /sass/1.53.0: resolution: {integrity: sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==} engines: {node: '>=12.0.0'} @@ -14145,6 +14198,12 @@ packages: inline-style-parser: 0.1.1 dev: false + /suf-log/2.5.3: + resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} + dependencies: + s.color: 0.0.15 + dev: true + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -14250,6 +14309,14 @@ packages: typescript: 4.6.4 dev: false + /synckit/0.7.2: + resolution: {integrity: sha512-CSZRtSRZ8RhJGMtWyLRqlarmWPPlsgZJHtV6cz0VTHNOg+R7UBoE2eNPQmB5Qrhtk3RX2AAcJmVwMXFULVQSwg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.3.0 + tslib: 2.4.0 + dev: true + /tailwindcss/3.1.4: resolution: {integrity: sha512-NrxbFV4tYsga/hpWbRyUfIaBrNMXDxx5BsHgBS4v5tlyjf+sDsgBg5m9OxjrXIqAS/uR9kicxLKP+bEHI7BSeQ==} engines: {node: '>=12.13.0'} @@ -14468,7 +14535,6 @@ packages: hasBin: true dependencies: esbuild: 0.14.48 - dev: false /tsutils/3.21.0_typescript@4.7.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} From 7f10bcfdb3ef047eab34d5b65f80f49e57168eb0 Mon Sep 17 00:00:00 2001 From: MarcusOtter Date: Fri, 8 Jul 2022 17:43:47 +0200 Subject: [PATCH 2/6] Use prettier plugin on examples --- examples/basics/src/components/Card.astro | 44 ++--- examples/basics/src/layouts/Layout.astro | 91 +++++----- examples/basics/src/pages/index.astro | 52 ++++-- .../src/components/MainHead.astro | 39 ++-- .../src/components/Nav.astro | 18 +- .../src/components/Pagination.astro | 10 +- .../src/components/PostPreview.astro | 14 +- .../src/layouts/post.astro | 25 +-- .../src/pages/about.astro | 32 ++-- .../src/pages/authors/[author].astro | 21 ++- .../src/pages/index.astro | 14 +- .../src/pages/posts/[...page].astro | 27 ++- examples/blog/src/components/Author.astro | 2 +- examples/blog/src/components/BaseHead.astro | 37 ++-- examples/blog/src/components/BlogHeader.astro | 29 +-- examples/blog/src/components/BlogPost.astro | 23 ++- .../blog/src/components/BlogPostPreview.astro | 6 +- examples/blog/src/components/Heading.astro | 2 +- examples/blog/src/components/Logo.astro | 76 ++++---- examples/blog/src/layouts/BlogPost.astro | 10 +- examples/blog/src/pages/index.astro | 17 +- examples/component/demo/src/pages/index.astro | 6 +- .../packages/my-component/Button.astro | 2 +- .../packages/my-component/Heading.astro | 2 +- .../src/components/Footer/AvatarList.astro | 20 ++- examples/docs/src/components/HeadCommon.astro | 23 ++- examples/docs/src/components/HeadSEO.astro | 37 ++-- .../src/components/Header/AstroLogo.astro | 25 ++- .../docs/src/components/Header/Header.astro | 12 +- .../src/components/Header/SkipToContent.astro | 2 +- .../components/LeftSidebar/LeftSidebar.astro | 11 +- .../components/PageContent/PageContent.astro | 14 +- .../components/RightSidebar/MoreMenu.astro | 6 +- .../RightSidebar/RightSidebar.astro | 6 +- examples/docs/src/layouts/MainLayout.astro | 12 +- examples/env-vars/src/pages/index.astro | 10 +- .../src/components/Counter.astro | 12 +- .../framework-alpine/src/pages/index.astro | 8 +- .../framework-lit/src/components/Lorem.astro | 160 +++++++++++------ examples/framework-lit/src/pages/index.astro | 8 +- .../framework-multiple/src/components/A.astro | 2 +- .../framework-multiple/src/components/B.astro | 2 +- .../framework-multiple/src/pages/index.astro | 8 +- .../framework-preact/src/pages/index.astro | 8 +- .../framework-react/src/pages/index.astro | 8 +- .../framework-solid/src/pages/index.astro | 6 +- .../framework-svelte/src/pages/index.astro | 8 +- examples/framework-vue/src/pages/index.astro | 8 +- .../src/components/Lorem.astro | 167 +++++++++++------- .../src/pages/foo.astro | 6 +- .../src/pages/index.astro | 73 ++++---- examples/minimal/src/pages/index.astro | 8 +- examples/non-html-pages/src/pages/index.astro | 13 +- .../portfolio/src/components/MainHead.astro | 22 ++- examples/portfolio/src/layouts/project.astro | 20 +-- examples/portfolio/src/pages/404.astro | 10 +- examples/portfolio/src/pages/about.astro | 48 +++-- examples/portfolio/src/pages/index.astro | 65 +++---- examples/portfolio/src/pages/projects.astro | 20 ++- examples/ssr/src/components/Container.astro | 3 +- examples/ssr/src/components/Header.astro | 16 +- .../ssr/src/components/ProductListing.astro | 29 +-- .../src/components/TextDecorationSkip.astro | 10 +- examples/ssr/src/pages/cart.astro | 65 +++---- examples/ssr/src/pages/index.astro | 44 ++--- examples/ssr/src/pages/login.astro | 43 ++--- examples/ssr/src/pages/products/[id].astro | 61 ++++--- examples/starter/src/components/Logo.astro | 9 +- examples/starter/src/pages/index.astro | 111 ++++++------ examples/subpath/src/pages/index.astro | 14 +- .../src/layouts/main.astro | 14 +- .../src/layouts/main.astro | 6 +- examples/with-markdown/src/layouts/main.astro | 6 +- examples/with-mdx/src/components/Title.astro | 2 +- .../with-nanostores/src/pages/index.astro | 14 +- .../src/components/Button.astro | 11 +- .../with-tailwindcss/src/pages/index.astro | 10 +- .../src/pages/index.astro | 14 +- 78 files changed, 1104 insertions(+), 845 deletions(-) diff --git a/examples/basics/src/components/Card.astro b/examples/basics/src/components/Card.astro index 53b67a9da11a..a60d0c0ba914 100644 --- a/examples/basics/src/components/Card.astro +++ b/examples/basics/src/components/Card.astro @@ -1,26 +1,26 @@ --- export interface Props { - title: string, - body: string, - href: string, + title: string; + body: string; + href: string; } -const {href, title, body} = Astro.props; +const { href, title, body } = Astro.props; --- - + - - diff --git a/examples/basics/src/pages/index.astro b/examples/basics/src/pages/index.astro index ea7401f118b3..040ebd0ea067 100644 --- a/examples/basics/src/pages/index.astro +++ b/examples/basics/src/pages/index.astro @@ -2,25 +2,42 @@ import Layout from '../layouts/Layout.astro'; import Card from '../components/Card.astro'; --- - + +
-

Welcome to Astro

-

- Check out the src/pages directory to get started.
+

Welcome to Astro

+

+ Check out the src/pages directory to get started.
Code Challenge: Tweak the "Welcome to Astro" message above.

-
Logo My Blog diff --git a/examples/blog/src/components/BlogPost.astro b/examples/blog/src/components/BlogPost.astro index 2dba32c3d85b..c8c51a1d2dad 100644 --- a/examples/blog/src/components/BlogPost.astro +++ b/examples/blog/src/components/BlogPost.astro @@ -12,17 +12,26 @@ export interface Props { const { title, author, publishDate, heroImage, alt } = Astro.props; --- -
-
+
+
- {heroImage && {alt}} -

{publishDate}

-

{title}

- + {heroImage && ( + {alt} + )} +

{publishDate}

+

{title}

+
- +
diff --git a/examples/blog/src/components/BlogPostPreview.astro b/examples/blog/src/components/BlogPostPreview.astro index f935ff8b2c36..d22bb45fd69f 100644 --- a/examples/blog/src/components/BlogPostPreview.astro +++ b/examples/blog/src/components/BlogPostPreview.astro @@ -6,10 +6,10 @@ export interface Props { const { post } = Astro.props; --- -
+
-

{post.frontmatter.publishDate}

-

{post.frontmatter.title}

+

{post.frontmatter.publishDate}

+

{post.frontmatter.title}

{post.frontmatter.description}

Read more diff --git a/examples/blog/src/components/Heading.astro b/examples/blog/src/components/Heading.astro index fec49b5386d5..3f27d35b8008 100644 --- a/examples/blog/src/components/Heading.astro +++ b/examples/blog/src/components/Heading.astro @@ -1,5 +1,5 @@

- +

Logo diff --git a/examples/docs/src/components/Header/Header.astro b/examples/docs/src/components/Header/Header.astro index ca787dc637e9..c95fedccac88 100644 --- a/examples/docs/src/components/Header/Header.astro +++ b/examples/docs/src/components/Header/Header.astro @@ -13,17 +13,17 @@ const lang = currentPage && getLanguageFromURL(currentPage);
-
diff --git a/examples/with-markdown-plugins/src/layouts/main.astro b/examples/with-markdown-plugins/src/layouts/main.astro index 854b2b425a1d..265bd39c7f22 100644 --- a/examples/with-markdown-plugins/src/layouts/main.astro +++ b/examples/with-markdown-plugins/src/layouts/main.astro @@ -6,9 +6,9 @@ const { content } = Astro.props; - + - + {content.title} -
+
-
- +
diff --git a/examples/with-markdown-shiki/src/layouts/main.astro b/examples/with-markdown-shiki/src/layouts/main.astro index 425f5dc08954..8f894e6b7a2a 100644 --- a/examples/with-markdown-shiki/src/layouts/main.astro +++ b/examples/with-markdown-shiki/src/layouts/main.astro @@ -6,13 +6,13 @@ const { content } = Astro.props; - + - + {content.title} - + diff --git a/examples/with-markdown/src/layouts/main.astro b/examples/with-markdown/src/layouts/main.astro index 425f5dc08954..8f894e6b7a2a 100644 --- a/examples/with-markdown/src/layouts/main.astro +++ b/examples/with-markdown/src/layouts/main.astro @@ -6,13 +6,13 @@ const { content } = Astro.props; - + - + {content.title} - + diff --git a/examples/with-mdx/src/components/Title.astro b/examples/with-mdx/src/components/Title.astro index 6d0dcb86ccbe..b53a309bcae2 100644 --- a/examples/with-mdx/src/components/Title.astro +++ b/examples/with-mdx/src/components/Title.astro @@ -1,4 +1,4 @@ -

+

Logo My Blog diff --git a/examples/blog/src/components/BlogPost.astro b/examples/blog/src/components/BlogPost.astro index c8c51a1d2dad..8044f2e29a13 100644 --- a/examples/blog/src/components/BlogPost.astro +++ b/examples/blog/src/components/BlogPost.astro @@ -1,5 +1,5 @@ --- -import Author from './Author.astro'; +import Author from "./Author.astro"; export interface Props { title: string; @@ -12,8 +12,8 @@ export interface Props { const { title, author, publishDate, heroImage, alt } = Astro.props; --- -
-
+
+
{heroImage && ( @@ -26,9 +26,9 @@ const { title, author, publishDate, heroImage, alt } = Astro.props; alt={alt} /> )} -

{publishDate}

-

{title}

- +

{publishDate}

+

{title}

+
diff --git a/examples/blog/src/components/BlogPostPreview.astro b/examples/blog/src/components/BlogPostPreview.astro index d22bb45fd69f..f935ff8b2c36 100644 --- a/examples/blog/src/components/BlogPostPreview.astro +++ b/examples/blog/src/components/BlogPostPreview.astro @@ -6,10 +6,10 @@ export interface Props { const { post } = Astro.props; --- -
+
-

{post.frontmatter.publishDate}

-

{post.frontmatter.title}

+

{post.frontmatter.publishDate}

+

{post.frontmatter.title}

{post.frontmatter.description}

Read more diff --git a/examples/blog/src/components/Logo.astro b/examples/blog/src/components/Logo.astro index 2af364008c33..2c2c759f02fe 100644 --- a/examples/blog/src/components/Logo.astro +++ b/examples/blog/src/components/Logo.astro @@ -1,57 +1,57 @@ - Logo diff --git a/examples/docs/src/components/Header/Header.astro b/examples/docs/src/components/Header/Header.astro index c95fedccac88..0e493b25d490 100644 --- a/examples/docs/src/components/Header/Header.astro +++ b/examples/docs/src/components/Header/Header.astro @@ -1,11 +1,11 @@ --- -import { getLanguageFromURL, KNOWN_LANGUAGE_CODES } from '../../languages.ts'; -import * as CONFIG from '../../config.ts'; -import AstroLogo from './AstroLogo.astro'; -import SkipToContent from './SkipToContent.astro'; -import SidebarToggle from './SidebarToggle.tsx'; -import LanguageSelect from './LanguageSelect.tsx'; -import Search from './Search.tsx'; +import { getLanguageFromURL, KNOWN_LANGUAGE_CODES } from "../../languages.ts"; +import * as CONFIG from "../../config.ts"; +import AstroLogo from "./AstroLogo.astro"; +import SkipToContent from "./SkipToContent.astro"; +import SidebarToggle from "./SidebarToggle.tsx"; +import LanguageSelect from "./LanguageSelect.tsx"; +import Search from "./Search.tsx"; const { currentPage } = Astro.props; const lang = currentPage && getLanguageFromURL(currentPage); @@ -13,17 +13,17 @@ const lang = currentPage && getLanguageFromURL(currentPage);
-