From c16dbff08c55520aaa2cdee0d48228de824fea08 Mon Sep 17 00:00:00 2001 From: sushi-chaaaan Date: Mon, 22 Apr 2024 14:20:47 +0900 Subject: [PATCH 1/3] docs: prettier config installation --- packages/prettier-config/README.md | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 packages/prettier-config/README.md diff --git a/packages/prettier-config/README.md b/packages/prettier-config/README.md new file mode 100644 index 00000000..dbfe8624 --- /dev/null +++ b/packages/prettier-config/README.md @@ -0,0 +1,39 @@ + +# @virtual-live-lab/prettier-config + +![NPM Version](https://img.shields.io/npm/v/%40virtual-live-lab%2Fprettier-config) + +Prettier configuration for Virtual Live Lab. + +## Installation + +### Use for normal + +```bash +npm install prettier \ + @virtual-live-lab/prettier-config \ + --save-dev +``` + +```js +// prettier.config.mjs +export { default } from "@virtual-live-lab/prettier-config" +``` + +### Use for Astro + +```bash +npm install prettier \ + prettier-plugin-astro \ + @virtual-live-lab/prettier-config \ + --save-dev +``` + +```js +// prettier.config.mjs +export { default } from "@virtual-live-lab/prettier-config/astro" +``` + +## License + +[MIT](https://choosealicense.com/licenses/mit/) From 1299a85caea6af978a59d74d8a20f16b059c9596 Mon Sep 17 00:00:00 2001 From: sushi-chaaaan Date: Mon, 22 Apr 2024 14:21:24 +0900 Subject: [PATCH 2/3] feat: add eslint config docs, use default export --- eslint.config.mjs | 2 +- packages/eslint-config/README.md | 105 ++++++++++++++++++ packages/eslint-config/eslint.config.mjs | 2 +- packages/eslint-config/src/addons/jsxA11y.ts | 4 +- packages/eslint-config/src/addons/tailwind.ts | 4 +- packages/eslint-config/src/astro.ts | 4 +- packages/eslint-config/src/js.ts | 2 +- packages/eslint-config/src/react.ts | 4 +- packages/eslint-config/src/ts.ts | 4 +- packages/prettier-config/eslint.config.mjs | 3 +- packages/stylelint-config/eslint.config.mjs | 2 +- 11 files changed, 120 insertions(+), 16 deletions(-) create mode 100644 packages/eslint-config/README.md diff --git a/eslint.config.mjs b/eslint.config.mjs index e3774ec9..27a7e71d 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,2 +1,2 @@ //@ts-check -export { ts as default } from "@virtual-live-lab/eslint-config/ts" +export { default } from "@virtual-live-lab/eslint-config/ts" diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md new file mode 100644 index 00000000..de85c77e --- /dev/null +++ b/packages/eslint-config/README.md @@ -0,0 +1,105 @@ + +# @virtual-live-lab/eslint-config + +![NPM Version](https://img.shields.io/npm/v/%40virtual-live-lab%2Feslint-config) + +ESLint configuration for Virtual Live Lab, with various presets and addons. + +> [!NOTE] +> This package has not compatibility with ESLint v9 yet. + +> [!WARNING] +> This package is only compatible with Flat Config. +> Do not use for classic `.eslintrc` style. + +## Installation + +### Use for JavaScript + +```bash +npm install eslint \ + @virtual-live-lab/eslint-config \ + --save-dev +``` + +### Use for TypeScript + +```bash +npm install eslint \ + @virtual-live-lab/eslint-config \ + typescript \ + --save-dev +``` + +## presets + +This package has some presets to zero-config use. + +> [!WARNING] +> Next.js is not supported by the preset because each version of the framework has a different version of the ESLint package. + +### JavaScript Preset + +```js +// eslint.config.mjs +export { default } from "@virtual-live-lab/eslint-config/js" +``` + +### TypeScript Preset + +Extends `js` preset. + +```js +// eslint.config.mjs +export { default } from "@virtual-live-lab/eslint-config/ts" +``` + +### React Preset + +Extends `ts` preset. + +```js +// eslint.config.mjs +export { default } from "@virtual-live-lab/eslint-config/react" +``` + +### Astro Preset + +Extends `ts` and `react` presets. + +```js +// eslint.config.mjs +export { default } from "@virtual-live-lab/eslint-config/astro" +``` + +## Addons + +This package has some addon configurations. + +### jsx a11y + +```js +// eslint.config.mjs +import jsxA11y from "@virtual-live-lab/eslint-config/addons/jsxA11y" +import ts from "@virtual-live-lab/eslint-config/ts" + +const config = [...ts, ...jsxA11y] + +export default config +``` + +### Tailwind CSS + +```js +// eslint.config.mjs +import tailwind from "@virtual-live-lab/eslint-config/addons/tailwind" +import ts from "@virtual-live-lab/eslint-config/ts" + +const config = [...ts, ...jsxA11y] + +export default config +``` + +## License + +[MIT](https://choosealicense.com/licenses/mit/) diff --git a/packages/eslint-config/eslint.config.mjs b/packages/eslint-config/eslint.config.mjs index e3774ec9..27a7e71d 100644 --- a/packages/eslint-config/eslint.config.mjs +++ b/packages/eslint-config/eslint.config.mjs @@ -1,2 +1,2 @@ //@ts-check -export { ts as default } from "@virtual-live-lab/eslint-config/ts" +export { default } from "@virtual-live-lab/eslint-config/ts" diff --git a/packages/eslint-config/src/addons/jsxA11y.ts b/packages/eslint-config/src/addons/jsxA11y.ts index 5ab830ed..dcb79dd5 100644 --- a/packages/eslint-config/src/addons/jsxA11y.ts +++ b/packages/eslint-config/src/addons/jsxA11y.ts @@ -1,5 +1,5 @@ import { compat } from "../../lib/compat" -const jsxA11yConfig = compat.extends("plugin:jsx-a11y/strict") +const jsxA11y = compat.extends("plugin:jsx-a11y/strict") -export { jsxA11yConfig } +export default jsxA11y diff --git a/packages/eslint-config/src/addons/tailwind.ts b/packages/eslint-config/src/addons/tailwind.ts index ff0fb25a..75eba283 100644 --- a/packages/eslint-config/src/addons/tailwind.ts +++ b/packages/eslint-config/src/addons/tailwind.ts @@ -1,6 +1,6 @@ import { compat } from "../../lib/compat" -const config = [ +const tailwind = [ ...compat.extends("plugin:tailwindcss/recommended"), ...compat.config({ rules: { @@ -18,4 +18,4 @@ const config = [ }), ] -export default config +export default tailwind diff --git a/packages/eslint-config/src/astro.ts b/packages/eslint-config/src/astro.ts index f9e5fd64..5c1c687b 100644 --- a/packages/eslint-config/src/astro.ts +++ b/packages/eslint-config/src/astro.ts @@ -4,7 +4,7 @@ import tseslint from "typescript-eslint" import { astroConfig } from "./bases/astro" import { reactConfig } from "./bases/react" -import { ts } from "./ts" +import ts from "./ts" const astro: TSESLint.FlatConfig.ConfigArray = tseslint.config( ...ts, @@ -12,4 +12,4 @@ const astro: TSESLint.FlatConfig.ConfigArray = tseslint.config( ...reactConfig, ) -export { astro } +export default astro diff --git a/packages/eslint-config/src/js.ts b/packages/eslint-config/src/js.ts index fdff9aef..67e26693 100644 --- a/packages/eslint-config/src/js.ts +++ b/packages/eslint-config/src/js.ts @@ -3,4 +3,4 @@ import { stylisticConfig } from "./bases/stylistic" const js = [...jsConfig, ...stylisticConfig] -export { js } +export default js diff --git a/packages/eslint-config/src/react.ts b/packages/eslint-config/src/react.ts index 888073ca..a75cc9f2 100644 --- a/packages/eslint-config/src/react.ts +++ b/packages/eslint-config/src/react.ts @@ -3,11 +3,11 @@ import type { TSESLint } from "@typescript-eslint/utils" import tseslint from "typescript-eslint" import { reactConfig } from "./bases/react" -import { ts } from "./ts" +import ts from "./ts" const react: TSESLint.FlatConfig.ConfigArray = tseslint.config( ...ts, ...reactConfig, ) -export { react } +export default react diff --git a/packages/eslint-config/src/ts.ts b/packages/eslint-config/src/ts.ts index 3cad369d..f636a24a 100644 --- a/packages/eslint-config/src/ts.ts +++ b/packages/eslint-config/src/ts.ts @@ -3,9 +3,9 @@ import type { TSESLint } from "@typescript-eslint/utils" import tseslint from "typescript-eslint" import { tsConfig } from "./bases/typescript" -import { js } from "./js" +import js from "./js" // eslint-disable-next-line @typescript-eslint/no-unsafe-argument const ts: TSESLint.FlatConfig.ConfigArray = tseslint.config(...js, ...tsConfig) -export { ts } +export default ts diff --git a/packages/prettier-config/eslint.config.mjs b/packages/prettier-config/eslint.config.mjs index e3774ec9..498d8f98 100644 --- a/packages/prettier-config/eslint.config.mjs +++ b/packages/prettier-config/eslint.config.mjs @@ -1,2 +1 @@ -//@ts-check -export { ts as default } from "@virtual-live-lab/eslint-config/ts" +export { default } from "@virtual-live-lab/eslint-config/ts" diff --git a/packages/stylelint-config/eslint.config.mjs b/packages/stylelint-config/eslint.config.mjs index 75b8cd40..498d8f98 100644 --- a/packages/stylelint-config/eslint.config.mjs +++ b/packages/stylelint-config/eslint.config.mjs @@ -1 +1 @@ -export { ts as default } from "@virtual-live-lab/eslint-config/ts" +export { default } from "@virtual-live-lab/eslint-config/ts" From 51ef36b008382c06f4b84860c1a1d50ac5d75ada Mon Sep 17 00:00:00 2001 From: sushi-chaaaan Date: Mon, 22 Apr 2024 14:28:31 +0900 Subject: [PATCH 3/3] chore: changeset --- .changeset/silly-years-behave.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/silly-years-behave.md diff --git a/.changeset/silly-years-behave.md b/.changeset/silly-years-behave.md new file mode 100644 index 00000000..feb5b066 --- /dev/null +++ b/.changeset/silly-years-behave.md @@ -0,0 +1,7 @@ +--- +"@virtual-live-lab/stylelint-config": patch +"@virtual-live-lab/prettier-config": patch +"@virtual-live-lab/eslint-config": patch +--- + +Add install doc