
web: Update config. Flesh out build. Fix issue surrounding build. Fix paths. Update workspaces. Fix build steps. Apply linter. Temporarily remove problem rules. Add ignorefile. Prep for formatting. Lint website. Lint web, repo packages. Refine Prettier usage. Fix imports. Tidy build. Move node ignore files. Remove unused. Update job. Fix lint step. Build before compiling. Use root for paths. Fix issues surrounding import references, types, package names. Fix build paths. Tidy. Enforce prefix. Apply prefixes to imports. Enable linter, compiler, etc. Fix references. Update names. Mark optional. Revise mounts. Fix build order. Update package.json. Ignore all docusaurus. Fix paths, types. Clean up build steps, names. Fix paths. website: Fix nested paragraphs build warning. web: Enforce module resolution. Use consistent LTS version. Track Node version. Use default resolution. Test main entrypoint. Fix Node v20 compatibility. Add task names. WIP: Fix styles.
75 lines
1.8 KiB
JavaScript
75 lines
1.8 KiB
JavaScript
import eslint from "@eslint/js";
|
|
import * as litconf from "eslint-plugin-lit";
|
|
import * as wcconf from "eslint-plugin-wc";
|
|
import tseslint from "typescript-eslint";
|
|
|
|
import { javaScriptConfig } from "./lib/javascript-config.js";
|
|
import { reactConfig } from "./lib/react-config.js";
|
|
import { typescriptConfig } from "./lib/typescript-config.js";
|
|
|
|
// @ts-check
|
|
|
|
/**
|
|
* @typedef ESLintPackageConfigOptions Options for creating package ESLint configuration.
|
|
* @property {string[]} [ignorePatterns] Override ignore patterns for ESLint.
|
|
*/
|
|
|
|
/**
|
|
* @type {string[]} Default Ignore patterns for ESLint.
|
|
*/
|
|
export const DefaultIgnorePatterns = [
|
|
// ---
|
|
"**/*.md",
|
|
"**/out",
|
|
"**/dist",
|
|
"**/.wireit",
|
|
"**/.venv",
|
|
"website/build/**",
|
|
"**/.docusaurus/**",
|
|
"**/node_modules",
|
|
"**/coverage",
|
|
"**/storybook-static",
|
|
"**/locale-codes.ts",
|
|
"**/src/locales",
|
|
"**/gen-ts-api",
|
|
];
|
|
|
|
/**
|
|
* Given a preferred package name, creates a ESLint configuration object.
|
|
*
|
|
* @param {ESLintPackageConfigOptions} options The preferred package configuration options.
|
|
*
|
|
* @returns The ESLint configuration object.
|
|
*/
|
|
export function createESLintPackageConfig({ ignorePatterns = DefaultIgnorePatterns } = {}) {
|
|
return tseslint.config(
|
|
{
|
|
ignores: ignorePatterns,
|
|
},
|
|
|
|
eslint.configs.recommended,
|
|
javaScriptConfig,
|
|
|
|
wcconf.configs["flat/recommended"],
|
|
litconf.configs["flat/recommended"],
|
|
|
|
...tseslint.configs.recommended,
|
|
|
|
...typescriptConfig,
|
|
|
|
...reactConfig,
|
|
|
|
{
|
|
rules: {
|
|
"no-console": "off",
|
|
},
|
|
files: [
|
|
// ---
|
|
"**/scripts/**/*",
|
|
"**/test/**/*",
|
|
"**/tests/**/*",
|
|
],
|
|
},
|
|
);
|
|
}
|