diff --git a/.changeset/healthy-countries-jump.md b/.changeset/healthy-countries-jump.md new file mode 100644 index 00000000..9f65aa98 --- /dev/null +++ b/.changeset/healthy-countries-jump.md @@ -0,0 +1,5 @@ +--- +"@virtual-live-lab/eslint-config": patch +--- + +Enable tseslint/strict-boolean-expressions diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f64c15d4..a7fcb4c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,3 @@ - # How to contribute ## Did you find a bug? diff --git a/README.md b/README.md index 143ad449..b0ddddad 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # @virtual-live-lab/js-config このリポジトリは、バーチャルライブ研究会(VLL)内で利用されるJavaScript / TypeScript関連のツールチェインの設定を統一するためのライブラリリポジトリです。 diff --git a/eslint.config.mjs b/eslint.config.mjs index 1263bc28..2710e452 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,2 +1,2 @@ //@ts-check -export { default } from "@virtual-live-lab/eslint-config/presets/ts" +export { default } from "@virtual-live-lab/eslint-config/presets/ts"; diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md index a778e4d9..32531a04 100644 --- a/packages/eslint-config/README.md +++ b/packages/eslint-config/README.md @@ -1,4 +1,3 @@ - # @virtual-live-lab/eslint-config ![NPM Version](https://img.shields.io/npm/v/%40virtual-live-lab%2Feslint-config) @@ -40,7 +39,7 @@ This package has some presets to zero-config use. ```js // eslint.config.mjs -export { default } from "@virtual-live-lab/eslint-config/presets/js" +export { default } from "@virtual-live-lab/eslint-config/presets/js"; ``` ### TypeScript Preset @@ -49,7 +48,7 @@ Extends `js` preset. ```js // eslint.config.mjs -export { default } from "@virtual-live-lab/eslint-config/presets/ts" +export { default } from "@virtual-live-lab/eslint-config/presets/ts"; ``` ### React Preset @@ -58,7 +57,7 @@ Extends `ts` preset. ```js // eslint.config.mjs -export { default } from "@virtual-live-lab/eslint-config/presets/react" +export { default } from "@virtual-live-lab/eslint-config/presets/react"; ``` ### Next.js Preset @@ -74,7 +73,7 @@ Extends `ts` and `react` preset. ```js // eslint.config.mjs -export { default } from "@virtual-live-lab/eslint-config/presets/nextjs" +export { default } from "@virtual-live-lab/eslint-config/presets/nextjs"; ``` ### Astro Preset @@ -83,7 +82,7 @@ Extends `ts` and `react` presets. ```js // eslint.config.mjs -export { default } from "@virtual-live-lab/eslint-config/presets/astro" +export { default } from "@virtual-live-lab/eslint-config/presets/astro"; ``` ## Addons @@ -94,30 +93,24 @@ This package has some addon configurations. ```js // eslint.config.mjs -import jsxA11y from "@virtual-live-lab/eslint-config/addons/jsxA11y" -import ts from "@virtual-live-lab/eslint-config/presets/ts" +import jsxA11y from "@virtual-live-lab/eslint-config/addons/jsxA11y"; +import ts from "@virtual-live-lab/eslint-config/presets/ts"; -import tseslint from "typescript-eslint" +import tseslint from "typescript-eslint"; -export default tseslint.config( - ...ts, - ...jsxA11y -) +export default tseslint.config(...ts, ...jsxA11y); ``` ### Tailwind CSS ```js // eslint.config.mjs -import tailwind from "@virtual-live-lab/eslint-config/addons/tailwind" -import ts from "@virtual-live-lab/eslint-config/presets/ts" +import tailwind from "@virtual-live-lab/eslint-config/addons/tailwind"; +import ts from "@virtual-live-lab/eslint-config/presets/ts"; -import tseslint from "typescript-eslint" +import tseslint from "typescript-eslint"; -export default tseslint.config( - ...ts, - ...tailwind -) +export default tseslint.config(...ts, ...tailwind); ``` ## License diff --git a/packages/eslint-config/docs/flat-config.md b/packages/eslint-config/docs/flat-config.md index 61a571a3..b3e8c4da 100644 --- a/packages/eslint-config/docs/flat-config.md +++ b/packages/eslint-config/docs/flat-config.md @@ -1,4 +1,3 @@ - # Flat Configについて Flat Configは、ESLint v9でデフォルトになった新しいESLintの設定ファイルの形式です。 @@ -47,10 +46,7 @@ import js from "@virtual-live-lab/eslint-config/presets/js"; import hogehoge from "eslint-config-hogehoge"; /* @type {import("eslint").Linter.FlatConfig[]} */ -export default [ - ...js, - ...hoehoge.configs.recommended -]; +export default [...js, ...hoehoge.configs.recommended]; ``` @@ -62,9 +58,7 @@ export default [ ```js import { compat } from "@virtual-live-lab/eslint-config"; -export default [ - ...compat.extends("plugin:hogehoge/recommended") -]; +export default [...compat.extends("plugin:hogehoge/recommended")]; ``` のようにすることで`.eslintrc.js`形式のsyntaxのルールを利用できます。 diff --git a/packages/eslint-config/docs/tseslint.md b/packages/eslint-config/docs/tseslint.md index 8fa0422f..5c2640c9 100644 --- a/packages/eslint-config/docs/tseslint.md +++ b/packages/eslint-config/docs/tseslint.md @@ -1,4 +1,3 @@ - # typescript-eslintについて VLLでは基本的にTypeScriptを利用しますが、ESLintは本来TypeScriptに対応していません。そこで、[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint)を利用します。 diff --git a/packages/eslint-config/docs/vscode-setup.md b/packages/eslint-config/docs/vscode-setup.md index 5250cda0..8ee53881 100644 --- a/packages/eslint-config/docs/vscode-setup.md +++ b/packages/eslint-config/docs/vscode-setup.md @@ -1,4 +1,3 @@ - # Setup ESLint with VSCode VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCodeにESLintを統合してこのリポジトリのプリセットを動かすための設定を説明します。 @@ -17,7 +16,7 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod ```json { "editor.codeActionsOnSave": { - "source.fixAll.eslint": "explicit", + "source.fixAll.eslint": "explicit" }, "eslint.validate": [ "javascript", @@ -33,7 +32,7 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod { "mode": "auto" } - ], + ] } ``` @@ -49,5 +48,6 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod "typescript", "typescriptreact", "astro" - ], + ] } +``` diff --git a/packages/eslint-config/eslint.config.mjs b/packages/eslint-config/eslint.config.mjs index 1263bc28..2710e452 100644 --- a/packages/eslint-config/eslint.config.mjs +++ b/packages/eslint-config/eslint.config.mjs @@ -1,2 +1,2 @@ //@ts-check -export { default } from "@virtual-live-lab/eslint-config/presets/ts" +export { default } from "@virtual-live-lab/eslint-config/presets/ts"; diff --git a/packages/eslint-config/src/addons/jsxA11y.ts b/packages/eslint-config/src/addons/jsxA11y.ts index 5056e86d..7f72d311 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" +import { compat } from "../lib/compat"; -const jsxA11y = compat.extends("plugin:jsx-a11y/strict") +const jsxA11y = compat.extends("plugin:jsx-a11y/strict"); -export default jsxA11y +export default jsxA11y; diff --git a/packages/eslint-config/src/addons/tailwind.ts b/packages/eslint-config/src/addons/tailwind.ts index 1ba64f26..58601260 100644 --- a/packages/eslint-config/src/addons/tailwind.ts +++ b/packages/eslint-config/src/addons/tailwind.ts @@ -1,4 +1,4 @@ -import { compat } from "../lib/compat" +import { compat } from "../lib/compat"; const tailwind = [ ...compat.extends("plugin:tailwindcss/recommended"), @@ -22,6 +22,6 @@ const tailwind = [ ], }, }), -] +]; -export default tailwind +export default tailwind; diff --git a/packages/eslint-config/src/base/astro.ts b/packages/eslint-config/src/base/astro.ts index 9077226e..72fbaabc 100644 --- a/packages/eslint-config/src/base/astro.ts +++ b/packages/eslint-config/src/base/astro.ts @@ -1,12 +1,12 @@ -import type { Linter } from "eslint" +import type { Linter } from "eslint"; -import eslintPluginAstro from "eslint-plugin-astro" +import eslintPluginAstro from "eslint-plugin-astro"; const astroConfig: Linter.FlatConfig[] = [ ...eslintPluginAstro.configs["flat/recommended"], // flat/jsx-a11y-strictは、eslint-plugin-jsx-a11yの設定をベースにしているので、 // インストールされていないとエラーになるが、このパッケージはdependenciesに含まれているので問題ない ...eslintPluginAstro.configs["flat/jsx-a11y-strict"], -] +]; -export { astroConfig } +export { astroConfig }; diff --git a/packages/eslint-config/src/base/js.ts b/packages/eslint-config/src/base/js.ts index 9f455cae..764a1c63 100644 --- a/packages/eslint-config/src/base/js.ts +++ b/packages/eslint-config/src/base/js.ts @@ -1,8 +1,8 @@ -import type { Linter } from "eslint" +import type { Linter } from "eslint"; -import js from "@eslint/js" -import gitignore from "eslint-config-flat-gitignore" +import js from "@eslint/js"; +import gitignore from "eslint-config-flat-gitignore"; -const jsConfig: Linter.FlatConfig[] = [gitignore(), js.configs.recommended] +const jsConfig: Linter.FlatConfig[] = [gitignore(), js.configs.recommended]; -export { jsConfig } +export { jsConfig }; diff --git a/packages/eslint-config/src/base/nextjs.ts b/packages/eslint-config/src/base/nextjs.ts index a676b54e..13e92da0 100644 --- a/packages/eslint-config/src/base/nextjs.ts +++ b/packages/eslint-config/src/base/nextjs.ts @@ -1,7 +1,7 @@ -import type { Linter } from "eslint" +import type { Linter } from "eslint"; -import { compat } from "../lib/compat" -import { reactConfig } from "./react" +import { compat } from "../lib/compat"; +import { reactConfig } from "./react"; const nextJsConfig: Linter.FlatConfig[] = [ ...reactConfig, @@ -13,6 +13,6 @@ const nextJsConfig: Linter.FlatConfig[] = [ Next.jsプリセットを削除するBreaking Changeを行う可能性が高い */ ...compat.extends("next/core-web-vitals"), -] +]; -export { nextJsConfig } +export { nextJsConfig }; diff --git a/packages/eslint-config/src/base/react.ts b/packages/eslint-config/src/base/react.ts index db7b4260..e836802a 100644 --- a/packages/eslint-config/src/base/react.ts +++ b/packages/eslint-config/src/base/react.ts @@ -1,12 +1,12 @@ -import type { Linter } from "eslint" +import type { Linter } from "eslint"; //@ts-expect-error no types -import react from "eslint-plugin-react" +import react from "eslint-plugin-react"; //@ts-expect-error no types -import reactRecommended from "eslint-plugin-react/configs/recommended.js" -import globals from "globals" +import reactRecommended from "eslint-plugin-react/configs/recommended.js"; +import globals from "globals"; -import { compat } from "../lib/compat" +import { compat } from "../lib/compat"; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const reactConfig: Linter.FlatConfig[] = [ ...compat.extends("plugin:react-hooks/recommended"), @@ -33,6 +33,6 @@ const reactConfig: Linter.FlatConfig[] = [ "react/jsx-curly-brace-presence": "error", }, }, -] +]; -export { reactConfig } +export { reactConfig }; diff --git a/packages/eslint-config/src/base/stylistic.ts b/packages/eslint-config/src/base/stylistic.ts index 980e6333..54e3a031 100644 --- a/packages/eslint-config/src/base/stylistic.ts +++ b/packages/eslint-config/src/base/stylistic.ts @@ -1,8 +1,8 @@ -import type { Linter } from "eslint" +import type { Linter } from "eslint"; -import prettierConfig from "eslint-config-prettier" +import prettierConfig from "eslint-config-prettier"; // @ts-expect-error no types -import perfectionistNatural from "eslint-plugin-perfectionist/configs/recommended-natural" +import perfectionistNatural from "eslint-plugin-perfectionist/configs/recommended-natural"; // eslint-plugin-perfectionist has no types // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment @@ -21,6 +21,6 @@ const stylisticConfig: Linter.FlatConfig[] = [ ], }, }, -] +]; -export { stylisticConfig } +export { stylisticConfig }; diff --git a/packages/eslint-config/src/base/typescript.ts b/packages/eslint-config/src/base/typescript.ts index f2d6d2fc..74784e6b 100644 --- a/packages/eslint-config/src/base/typescript.ts +++ b/packages/eslint-config/src/base/typescript.ts @@ -1,6 +1,6 @@ -import tseslint from "typescript-eslint" +import tseslint from "typescript-eslint"; -import { __dirname } from "../lib/dir" +import { __dirname } from "../lib/dir"; const tsConfig = tseslint.config({ extends: [ @@ -44,7 +44,14 @@ const tsConfig = tseslint.config({ "@typescript-eslint/no-unsafe-declaration-merging": "off", "@typescript-eslint/prefer-for-of": "off", "@typescript-eslint/prefer-function-type": "off", + // #97 + "@typescript-eslint/strict-boolean-expressions": [ + "error", + { + allowNumber: false, + }, + ], }, -}) +}); -export { tsConfig } +export { tsConfig }; diff --git a/packages/eslint-config/src/index.ts b/packages/eslint-config/src/index.ts index 7f4998c5..f4d40f88 100644 --- a/packages/eslint-config/src/index.ts +++ b/packages/eslint-config/src/index.ts @@ -1 +1 @@ -export { compat } from "./lib/compat" +export { compat } from "./lib/compat"; diff --git a/packages/eslint-config/src/lib/compat.ts b/packages/eslint-config/src/lib/compat.ts index 6f6ab5f5..213621be 100644 --- a/packages/eslint-config/src/lib/compat.ts +++ b/packages/eslint-config/src/lib/compat.ts @@ -1,8 +1,8 @@ -import { FlatCompat } from "@eslint/eslintrc" +import { FlatCompat } from "@eslint/eslintrc"; -import { __dirname } from "./dir" +import { __dirname } from "./dir"; // 最も近いpackage.jsonを探索して、そのディレクトリをbaseDirectoryとして設定 -const compat = new FlatCompat({ baseDirectory: __dirname }) +const compat = new FlatCompat({ baseDirectory: __dirname }); -export { compat } +export { compat }; diff --git a/packages/eslint-config/src/lib/dir.ts b/packages/eslint-config/src/lib/dir.ts index 5e092c74..011074b9 100644 --- a/packages/eslint-config/src/lib/dir.ts +++ b/packages/eslint-config/src/lib/dir.ts @@ -1,3 +1,3 @@ -import { packageDirectorySync } from "pkg-dir" +import { packageDirectorySync } from "pkg-dir"; -export const __dirname = packageDirectorySync() +export const __dirname = packageDirectorySync(); diff --git a/packages/eslint-config/src/presets/astro.ts b/packages/eslint-config/src/presets/astro.ts index 1f82e47e..87d294fb 100644 --- a/packages/eslint-config/src/presets/astro.ts +++ b/packages/eslint-config/src/presets/astro.ts @@ -1,15 +1,15 @@ -import type { TSESLint } from "@typescript-eslint/utils" +import type { TSESLint } from "@typescript-eslint/utils"; -import tseslint from "typescript-eslint" +import tseslint from "typescript-eslint"; -import { astroConfig } from "../base/astro" -import { reactConfig } from "../base/react" -import ts from "./ts" +import { astroConfig } from "../base/astro"; +import { reactConfig } from "../base/react"; +import ts from "./ts"; const astro: TSESLint.FlatConfig.ConfigArray = tseslint.config( ...ts, ...astroConfig, ...reactConfig, -) +); -export default astro +export default astro; diff --git a/packages/eslint-config/src/presets/index.ts b/packages/eslint-config/src/presets/index.ts index 7d6b9df5..0e395522 100644 --- a/packages/eslint-config/src/presets/index.ts +++ b/packages/eslint-config/src/presets/index.ts @@ -1,13 +1,13 @@ -import astro from "./astro" -import js from "./js" -import react from "./react" -import ts from "./ts" +import astro from "./astro"; +import js from "./js"; +import react from "./react"; +import ts from "./ts"; const presets = { astro, js, react, ts, -} +}; -export default presets +export default presets; diff --git a/packages/eslint-config/src/presets/js.ts b/packages/eslint-config/src/presets/js.ts index a55d8a5a..f545b8fc 100644 --- a/packages/eslint-config/src/presets/js.ts +++ b/packages/eslint-config/src/presets/js.ts @@ -1,6 +1,6 @@ -import { jsConfig } from "../base/js" -import { stylisticConfig } from "../base/stylistic" +import { jsConfig } from "../base/js"; +import { stylisticConfig } from "../base/stylistic"; -const js = [...jsConfig, ...stylisticConfig] +const js = [...jsConfig, ...stylisticConfig]; -export default js +export default js; diff --git a/packages/eslint-config/src/presets/nextjs.ts b/packages/eslint-config/src/presets/nextjs.ts index ae18f35e..5cac09e5 100644 --- a/packages/eslint-config/src/presets/nextjs.ts +++ b/packages/eslint-config/src/presets/nextjs.ts @@ -1,13 +1,13 @@ -import type { TSESLint } from "@typescript-eslint/utils" +import type { TSESLint } from "@typescript-eslint/utils"; -import tseslint from "typescript-eslint" +import tseslint from "typescript-eslint"; -import { nextJsConfig } from "../base/nextjs" -import ts from "./ts" +import { nextJsConfig } from "../base/nextjs"; +import ts from "./ts"; const react: TSESLint.FlatConfig.ConfigArray = tseslint.config( ...ts, ...nextJsConfig, -) +); -export default react +export default react; diff --git a/packages/eslint-config/src/presets/react.ts b/packages/eslint-config/src/presets/react.ts index cf33ae93..275bb6ca 100644 --- a/packages/eslint-config/src/presets/react.ts +++ b/packages/eslint-config/src/presets/react.ts @@ -1,13 +1,13 @@ -import type { TSESLint } from "@typescript-eslint/utils" +import type { TSESLint } from "@typescript-eslint/utils"; -import tseslint from "typescript-eslint" +import tseslint from "typescript-eslint"; -import { reactConfig } from "../base/react" -import ts from "./ts" +import { reactConfig } from "../base/react"; +import ts from "./ts"; const react: TSESLint.FlatConfig.ConfigArray = tseslint.config( ...ts, ...reactConfig, -) +); -export default react +export default react; diff --git a/packages/eslint-config/src/presets/ts.ts b/packages/eslint-config/src/presets/ts.ts index d3ff5c8a..47238dee 100644 --- a/packages/eslint-config/src/presets/ts.ts +++ b/packages/eslint-config/src/presets/ts.ts @@ -1,11 +1,11 @@ -import type { TSESLint } from "@typescript-eslint/utils" +import type { TSESLint } from "@typescript-eslint/utils"; -import tseslint from "typescript-eslint" +import tseslint from "typescript-eslint"; -import { tsConfig } from "../base/typescript" -import js from "./js" +import { tsConfig } from "../base/typescript"; +import js from "./js"; // eslint-disable-next-line @typescript-eslint/no-unsafe-argument -const ts: TSESLint.FlatConfig.ConfigArray = tseslint.config(...js, ...tsConfig) +const ts: TSESLint.FlatConfig.ConfigArray = tseslint.config(...js, ...tsConfig); -export default ts +export default ts; diff --git a/packages/eslint-config/tsup.config.ts b/packages/eslint-config/tsup.config.ts index 589d6931..2c8fabbd 100644 --- a/packages/eslint-config/tsup.config.ts +++ b/packages/eslint-config/tsup.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from "tsup" +import { defineConfig } from "tsup"; export default defineConfig({ clean: true, // build前にディレクトリ内を削除するか @@ -10,4 +10,4 @@ export default defineConfig({ sourcemap: false, // soucemapを出力するか splitting: false, // バンドルしないで分割するか treeshake: true, -}) +}); diff --git a/packages/prettier-config/README.md b/packages/prettier-config/README.md index dbfe8624..6e6b8624 100644 --- a/packages/prettier-config/README.md +++ b/packages/prettier-config/README.md @@ -1,4 +1,3 @@ - # @virtual-live-lab/prettier-config ![NPM Version](https://img.shields.io/npm/v/%40virtual-live-lab%2Fprettier-config) @@ -17,7 +16,7 @@ npm install prettier \ ```js // prettier.config.mjs -export { default } from "@virtual-live-lab/prettier-config" +export { default } from "@virtual-live-lab/prettier-config"; ``` ### Use for Astro @@ -31,7 +30,7 @@ npm install prettier \ ```js // prettier.config.mjs -export { default } from "@virtual-live-lab/prettier-config/astro" +export { default } from "@virtual-live-lab/prettier-config/astro"; ``` ## License diff --git a/packages/prettier-config/docs/vscode-setup.md b/packages/prettier-config/docs/vscode-setup.md index b996fc01..5f8814e6 100644 --- a/packages/prettier-config/docs/vscode-setup.md +++ b/packages/prettier-config/docs/vscode-setup.md @@ -1,4 +1,3 @@ - # Setup Prettier with VSCode VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCodeにPrettierを統合してこのリポジトリのプリセットを動かすための設定を説明します。 @@ -22,7 +21,7 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod ```json { "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, + "editor.formatOnSave": true } ``` @@ -34,3 +33,4 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod { "prettier.documentSelectors": ["**/*.astro"] } +``` diff --git a/packages/prettier-config/eslint.config.mjs b/packages/prettier-config/eslint.config.mjs index 1263bc28..2710e452 100644 --- a/packages/prettier-config/eslint.config.mjs +++ b/packages/prettier-config/eslint.config.mjs @@ -1,2 +1,2 @@ //@ts-check -export { default } from "@virtual-live-lab/eslint-config/presets/ts" +export { default } from "@virtual-live-lab/eslint-config/presets/ts"; diff --git a/packages/prettier-config/src/astro.ts b/packages/prettier-config/src/astro.ts index 80b07883..a66526f7 100644 --- a/packages/prettier-config/src/astro.ts +++ b/packages/prettier-config/src/astro.ts @@ -1,6 +1,6 @@ -import type { Config } from "prettier" +import type { Config } from "prettier"; -import defaultConfig from "./index" +import defaultConfig from "./index"; const config: Config = { ...defaultConfig, @@ -13,6 +13,6 @@ const config: Config = { }, ], plugins: ["prettier-plugin-astro"], -} +}; -export default config +export default config; diff --git a/packages/prettier-config/src/index.ts b/packages/prettier-config/src/index.ts index 240588d5..4eaaa028 100644 --- a/packages/prettier-config/src/index.ts +++ b/packages/prettier-config/src/index.ts @@ -1,4 +1,4 @@ -import type { Config } from "prettier" +import type { Config } from "prettier"; const config: Config = { arrowParens: "always", @@ -9,6 +9,6 @@ const config: Config = { singleQuote: false, tabWidth: 2, trailingComma: "all", -} +}; -export default config +export default config; diff --git a/packages/prettier-config/tsup.config.ts b/packages/prettier-config/tsup.config.ts index 9d2962d1..7ea533f3 100644 --- a/packages/prettier-config/tsup.config.ts +++ b/packages/prettier-config/tsup.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from "tsup" +import { defineConfig } from "tsup"; export default defineConfig({ clean: true, // build前にディレクトリ内を削除するか @@ -10,4 +10,4 @@ export default defineConfig({ sourcemap: false, // soucemapを出力するか splitting: false, // バンドルしないで分割するか treeshake: true, -}) +}); diff --git a/packages/stylelint-config/CHANGELOG.md b/packages/stylelint-config/CHANGELOG.md index b81f4e13..f9ff68c3 100644 --- a/packages/stylelint-config/CHANGELOG.md +++ b/packages/stylelint-config/CHANGELOG.md @@ -1,5 +1,11 @@ # @virtual-live-lab/stylelint-config +## 2.0.2 + +### Patch Changes + +- [#99](https://github.com/VirtualLiveLab/js-config/pull/99) [`c46191b`](https://github.com/VirtualLiveLab/js-config/commit/c46191b3585622e9c3749b011bb961c79afc69d4) Thanks [@sushi-chaaaan](https://github.com/sushi-chaaaan)! - fix at rule for scss + ## 2.0.1 ### Patch Changes diff --git a/packages/stylelint-config/README.md b/packages/stylelint-config/README.md index 3d2129f3..c691bdc3 100644 --- a/packages/stylelint-config/README.md +++ b/packages/stylelint-config/README.md @@ -1,4 +1,3 @@ - # @virtual-live-lab/stylelint-config ![NPM Version](https://img.shields.io/npm/v/%40virtual-live-lab%2Fstylelint-config) @@ -26,7 +25,7 @@ npm install stylelint \ ```js // stylelint.config.mjs -export { default } from "@virtual-live-lab/stylelint-config" +export { default } from "@virtual-live-lab/stylelint-config"; ``` ### Use for scss @@ -47,7 +46,7 @@ npm install stylelint \ ```js // stylelint.config.mjs -export { default } from "@virtual-live-lab/stylelint-config/scss" +export { default } from "@virtual-live-lab/stylelint-config/scss"; ``` ### Use for Astro @@ -76,7 +75,7 @@ npm install stylelint \ ```js // stylelint.config.mjs -export { default } from "@virtual-live-lab/stylelint-config/astro" +export { default } from "@virtual-live-lab/stylelint-config/astro"; ``` ## License diff --git a/packages/stylelint-config/docs/vscode-setup.md b/packages/stylelint-config/docs/vscode-setup.md index 2f43f362..63685115 100644 --- a/packages/stylelint-config/docs/vscode-setup.md +++ b/packages/stylelint-config/docs/vscode-setup.md @@ -1,4 +1,3 @@ - # Setup Stylelint with VSCode VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCodeにStylelintを統合してこのリポジトリのプリセットを動かすための設定を説明します。 @@ -14,8 +13,7 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod 基本的にこのpackageのプリセットを使う場合以下の設定が必須となります。 `/.vscode/settings.json`に追記してください。 -> [!TIP] -> `stylelint.packageManager`をnpm, yarn, pnpmの中からリポジトリに合わせたものに変更してください。`bun`はないようです。 +> [!TIP] > `stylelint.packageManager`をnpm, yarn, pnpmの中からリポジトリに合わせたものに変更してください。`bun`はないようです。 > > 設定しなかった場合、稀にStylelint VSCode Extensionがインストールされたstylelintの検出に失敗することがあります。 @@ -25,7 +23,7 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod "source.fixAll.stylelint": "explicit" }, "stylelint.validate": ["css", "postcss", "scss"], - "stylelint.packageManager": "PROJECT_PACKAGE_MANAGER", + "stylelint.packageManager": "PROJECT_PACKAGE_MANAGER" } ``` @@ -35,6 +33,6 @@ VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCod ```json { - "stylelint.validate": ["css", "postcss", "scss", "astro"], + "stylelint.validate": ["css", "postcss", "scss", "astro"] } ``` diff --git a/packages/stylelint-config/eslint.config.mjs b/packages/stylelint-config/eslint.config.mjs index 1263bc28..2710e452 100644 --- a/packages/stylelint-config/eslint.config.mjs +++ b/packages/stylelint-config/eslint.config.mjs @@ -1,2 +1,2 @@ //@ts-check -export { default } from "@virtual-live-lab/eslint-config/presets/ts" +export { default } from "@virtual-live-lab/eslint-config/presets/ts"; diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index 56ffb826..c777e15b 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@virtual-live-lab/stylelint-config", - "version": "2.0.1", + "version": "2.0.2", "description": "Stylelint configuration for Virtual Live Lab", "main": "./dist/index.mjs", "module": "./dist/index.mjs", diff --git a/packages/stylelint-config/src/astro.ts b/packages/stylelint-config/src/astro.ts index 1b68cc95..22af0606 100644 --- a/packages/stylelint-config/src/astro.ts +++ b/packages/stylelint-config/src/astro.ts @@ -1,9 +1,9 @@ -import type { Config } from "stylelint" +import type { Config } from "stylelint"; -import { baseConfig } from "./bases/base" -import { astroExtend } from "./bases/extend" +import { baseConfig } from "./bases/base"; +import { astroExtend } from "./bases/extend"; -const { rules: baseRules, ...base } = baseConfig +const { rules: baseRules, ...base } = baseConfig; const astro: Config = { ...base, @@ -17,6 +17,6 @@ const astro: Config = { }, ], }, -} +}; -export default astro +export default astro; diff --git a/packages/stylelint-config/src/bases/base.ts b/packages/stylelint-config/src/bases/base.ts index bb521f28..537807ec 100644 --- a/packages/stylelint-config/src/bases/base.ts +++ b/packages/stylelint-config/src/bases/base.ts @@ -1,4 +1,4 @@ -import type { Config } from "stylelint" +import type { Config } from "stylelint"; const baseConfig: Config = { ignoreFiles: ["**/node_modules/**"], @@ -17,6 +17,6 @@ const baseConfig: Config = { "csstools/value-no-unknown-custom-properties": true, "plugin/declaration-block-no-ignored-properties": true, }, -} +}; -export { baseConfig } +export { baseConfig }; diff --git a/packages/stylelint-config/src/bases/extend.ts b/packages/stylelint-config/src/bases/extend.ts index f163fee2..482b6b2e 100644 --- a/packages/stylelint-config/src/bases/extend.ts +++ b/packages/stylelint-config/src/bases/extend.ts @@ -3,14 +3,17 @@ const astroExtend = [ "stylelint-config-recess-order", "stylelint-config-html/html", "stylelint-config-html/astro", -] +]; -const cssExtend = ["stylelint-config-standard", "stylelint-config-recess-order"] +const cssExtend = [ + "stylelint-config-standard", + "stylelint-config-recess-order", +]; const scssExtend = [ "stylelint-config-standard-scss", "stylelint-config-sass-guidelines", "stylelint-config-recess-order", -] +]; -export { astroExtend, cssExtend, scssExtend } +export { astroExtend, cssExtend, scssExtend }; diff --git a/packages/stylelint-config/src/index.ts b/packages/stylelint-config/src/index.ts index 38956666..7f0370ec 100644 --- a/packages/stylelint-config/src/index.ts +++ b/packages/stylelint-config/src/index.ts @@ -1,9 +1,9 @@ -import type { Config } from "stylelint" +import type { Config } from "stylelint"; -import { baseConfig } from "./bases/base" -import { cssExtend } from "./bases/extend" +import { baseConfig } from "./bases/base"; +import { cssExtend } from "./bases/extend"; -const { rules: baseRules, ...base } = baseConfig +const { rules: baseRules, ...base } = baseConfig; const css: Config = { ...base, @@ -17,6 +17,6 @@ const css: Config = { }, ], }, -} +}; -export default css +export default css; diff --git a/packages/stylelint-config/src/scss.ts b/packages/stylelint-config/src/scss.ts index 8e98f3c3..523f07c4 100644 --- a/packages/stylelint-config/src/scss.ts +++ b/packages/stylelint-config/src/scss.ts @@ -1,21 +1,16 @@ -import type { Config } from "stylelint" +import type { Config } from "stylelint"; -import { baseConfig } from "./bases/base" -import { scssExtend } from "./bases/extend" +import { baseConfig } from "./bases/base"; +import { scssExtend } from "./bases/extend"; -const { rules: baseRules, ...base } = baseConfig +const { rules: baseRules, ...base } = baseConfig; const scss: Config = { ...base, extends: scssExtend, rules: { ...baseRules, - "at-rule-no-unknown": [ - true, - { - ignoreAtRules: ["tailwind"], - }, - ], + "at-rule-no-unknown": null, "scss/at-rule-no-unknown": [ true, { @@ -23,6 +18,6 @@ const scss: Config = { }, ], }, -} +}; -export default scss +export default scss; diff --git a/packages/stylelint-config/tsup.config.ts b/packages/stylelint-config/tsup.config.ts index 9d2962d1..7ea533f3 100644 --- a/packages/stylelint-config/tsup.config.ts +++ b/packages/stylelint-config/tsup.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from "tsup" +import { defineConfig } from "tsup"; export default defineConfig({ clean: true, // build前にディレクトリ内を削除するか @@ -10,4 +10,4 @@ export default defineConfig({ sourcemap: false, // soucemapを出力するか splitting: false, // バンドルしないで分割するか treeshake: true, -}) +}); diff --git a/packages/tsconfig/README.md b/packages/tsconfig/README.md index dc2e1c4f..4c429e31 100644 --- a/packages/tsconfig/README.md +++ b/packages/tsconfig/README.md @@ -1,4 +1,3 @@ - # @virtual-live-lab/tsconfig ![NPM Version](https://img.shields.io/npm/v/%40virtual-live-lab%2Ftsconfig) @@ -17,8 +16,7 @@ TypeScript configuration for Virtual Live Lab. - `remix`: Configuration for Remix. - `vite`: Configuration for Vite. -> [!WARNING] -> `library`, `react`, and `vite` preset is basically for internal use. +> [!WARNING] > `library`, `react`, and `vite` preset is basically for internal use. ## Installation @@ -32,7 +30,7 @@ npm install typescript @virtual-live-lab/tsconfig --save-dev // tsconfig.json { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@virtual-live-lab/tsconfig/{preset}", + "extends": "@virtual-live-lab/tsconfig/{preset}" // your configuration } ``` @@ -51,7 +49,7 @@ npm install @astrojs/ts-plugin \ // tsconfig.json { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@virtual-live-lab/tsconfig/astro", + "extends": "@virtual-live-lab/tsconfig/astro" // your configuration } ``` @@ -67,7 +65,7 @@ npm install @cloudflare/workers-types \ // tsconfig.json { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@virtual-live-lab/tsconfig/cloudflare-workers", + "extends": "@virtual-live-lab/tsconfig/cloudflare-workers" // your configuration } ``` diff --git a/packages/tsconfig/docs/vscode-setup.md b/packages/tsconfig/docs/vscode-setup.md index 03089630..cf7a9fbd 100644 --- a/packages/tsconfig/docs/vscode-setup.md +++ b/packages/tsconfig/docs/vscode-setup.md @@ -1,4 +1,3 @@ - # Setup TypeScript with VSCode VLLでは基本的にVSCodeの利用を推奨しています。ここではVSCodeにStylelintを統合してこのリポジトリのプリセットを動かすための設定を説明します。 @@ -22,6 +21,6 @@ VSCodeはもともとTypeScriptをサポートしているので特に拡張機 ```json { "typescript.tsdk": "node_modules/typescript/lib", - "typescript.enablePromptUseWorkspaceTsdk": true, + "typescript.enablePromptUseWorkspaceTsdk": true } ``` diff --git a/prettier.config.mjs b/prettier.config.mjs index 70c9bf2c..52a80d0e 100644 --- a/prettier.config.mjs +++ b/prettier.config.mjs @@ -1 +1 @@ -export { default } from "@virtual-live-lab/prettier-config" +export { default } from "@virtual-live-lab/prettier-config"; diff --git a/stylelint.config.mjs b/stylelint.config.mjs index 8ed2630c..a7e4fb8f 100644 --- a/stylelint.config.mjs +++ b/stylelint.config.mjs @@ -1 +1 @@ -export { default } from "@virtual-live-lab/stylelint-config" +export { default } from "@virtual-live-lab/stylelint-config";