feat(pnpm): replace npm with pnpm and setup cspell

This commit is contained in:
Shintaro Jokagi 2025-06-02 13:11:57 +12:00
parent 199d83f25c
commit d7e5bb6af1
No known key found for this signature in database
GPG key ID: 0DDF8FA44C9A0DA8
22 changed files with 10923 additions and 14994 deletions

View file

@ -1,64 +1,64 @@
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
import { includeIgnoreFile } from "@eslint/compat";
import { type TSESLint } from "@typescript-eslint/utils";
import prettierConfig from "eslint-config-prettier";
import astro from "eslint-plugin-astro";
import tseslint, { configs } from "typescript-eslint";
import { includeIgnoreFile } from '@eslint/compat'
import { type TSESLint } from '@typescript-eslint/utils'
import prettierConfig from 'eslint-config-prettier'
import astro from 'eslint-plugin-astro'
import tseslint, { configs } from 'typescript-eslint'
// Import modular configurations
import { astroConfig } from "./.eslint/astro";
import { baseConfig } from "./.eslint/base";
import { configFilesConfig } from "./.eslint/config-files";
import { importConfigArray } from "./.eslint/import";
import { javascriptConfig } from "./.eslint/javascript";
import { jsxA11yConfig } from "./.eslint/jsx-a11y";
import { reactConfig, reactHooksConfig } from "./.eslint/react";
import { testConfig } from "./.eslint/test";
import { createTypescriptConfig } from "./.eslint/typescript";
import { astroConfig } from './.eslint/astro'
import { baseConfig } from './.eslint/base'
import { configFilesConfig } from './.eslint/config-files'
import { cspellConfig } from './.eslint/cspell'
import { importConfigArray } from './.eslint/import'
import { javascriptConfig } from './.eslint/javascript'
import { jsxA11yConfig } from './.eslint/jsx-a11y'
import { reactConfig, reactHooksConfig } from './.eslint/react'
import { testConfig } from './.eslint/test'
import { createTypescriptConfig } from './.eslint/typescript'
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
const tsConfigPath = resolve(__dirname, "./tsconfig.json");
const tsConfigPath = resolve(__dirname, './tsconfig.json')
const ignoresConfig = {
name: "eslint/ignores",
name: 'eslint/ignores',
ignores: [
// Build outputs
"**/dist/**",
"**/build/**",
"**/.astro/**",
"**/node_modules/**",
'**/dist/**',
'**/build/**',
'**/.astro/**',
'**/node_modules/**',
// Test outputs
"**/coverage/**",
"**/playwright-report/**",
"**/test-results/**",
'**/coverage/**',
'**/playwright-report/**',
'**/test-results/**',
// Config files that don't need linting
"**/*.config.js",
"**/*.config.mjs",
"**/wrangler.toml",
'**/*.config.js',
'**/*.config.mjs',
'**/wrangler.toml',
// Other common ignores
"**/.next/**",
"**/.nuxt/**",
"**/.output/**",
"**/.vercel/**",
"**/.netlify/**",
"**/public/**",
"**/*.min.js",
"**/*.d.ts",
"**/CHANGELOG.md",
"**/README.md",
'**/.next/**',
'**/.output/**',
'**/.vercel/**',
'**/.netlify/**',
'**/public/**',
'**/*.min.js',
'**/*.d.ts',
'**/CHANGELOG.md',
'**/README.md',
],
} satisfies TSESLint.FlatConfig.Config;
} satisfies TSESLint.FlatConfig.Config
const config: TSESLint.FlatConfig.ConfigArray = tseslint.config(
// Include .gitignore patterns
includeIgnoreFile(resolve(__dirname, ".gitignore")),
includeIgnoreFile(resolve(__dirname, '.gitignore')),
// Core configurations
ignoresConfig,
@ -87,8 +87,11 @@ const config: TSESLint.FlatConfig.ConfigArray = tseslint.config(
testConfig,
configFilesConfig,
// Prettier integration (must be last)
prettierConfig,
);
// Spell checking
cspellConfig,
export default config;
// Prettier integration (must be last)
prettierConfig
)
export default config